Creating integration-test_gateway_1 ... Creating integration-test_experiment_1 ... Creating integration-test_federation_1 ... Creating integration-test_authentication_1 ... Creating integration-test_device_1 ... Creating integration-test_authorization_1 ... Creating integration-test_experiment_1 ... done Creating integration-test_federation_1 ... done Creating integration-test_device_1 ... done Creating integration-test_gateway_1 ... done Creating integration-test_authentication_1 ... done Creating integration-test_authorization_1 ... done Attaching to integration-test_experiment_1, integration-test_federation_1, integration-test_device_1, integration-test_gateway_1, integration-test_authentication_1, integration-test_authorization_1 authentication_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authentication_1 | {"level":"info","message":"Authentication Service started successfully"} device_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment_1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} 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/ experiment_1 | {"level":"info","message":"Experiment Service started successfully"} device_1 | {"level":"info","message":"Device Service started successfully"} gateway_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh federation_1 | node:internal/process/promises:289 federation_1 | triggerUncaughtException(err, true /* fromPromise */); federation_1 | ^ federation_1 | federation_1 | [Error: SQLITE_CANTOPEN: unable to open database file] { federation_1 | errno: 14, federation_1 | code: 'SQLITE_CANTOPEN' federation_1 | } federation_1 | federation_1 | Node.js v20.11.0 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/device_service.conf to /etc/nginx/device_service.conf integration-test_federation_1 exited with code 1 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/auth_service.conf to /etc/nginx/auth_service.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/federation_service.conf to /etc/nginx/federation_service.conf gateway_1 | 20-create_config.sh: Running envsubst on /etc/nginx/templates/api_gateway.conf to /etc/nginx/api_gateway.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/experiment_service.conf to /etc/nginx/experiment_service.conf gateway_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh gateway_1 | /docker-entrypoint.sh: Configuration complete; ready for start up gateway_1 | {"time_local":"08/Feb/2024:13:04:28 +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.018","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"55ebc2deb4f1563af772296e4e756a64"} authentication_1 | {"level":"info","message":"HEAD /auth/status 200 8ms","method":"HEAD","requestID":"55ebc2deb4f1563af772296e4e756a64","responseTime":8,"status":200,"url":"/auth/status"} gateway_1 | {"time_local":"08/Feb/2024:13:04:28 +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.247","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"712cbd8bd5f90ed8b6733495edd08d85"} device_1 | {"level":"info","message":"HEAD /device/status 200 12ms","method":"HEAD","requestID":"97af4bc0-c682-11ee-9765-47e7fd15fc3d","responseTime":12,"status":200,"url":"/device/status"} gateway_1 | {"time_local":"08/Feb/2024:13:04:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /authorization/status HTTP/1.1","status": "502","body_bytes_sent":"0","request_time":"0.000","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"034c8faf3846cccff2def0f7fafc41e8"} gateway_1 | 2024/02/08 13:04:28 [error] 62#62: *5 connect() failed (111: Connection refused) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "HEAD /authorization/status HTTP/1.1", upstream: "http://127.0.0.1:3010/authorization/status", host: "localhost" authorization_1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2024-02-08T13:04:29Z"} authorization_1 | {"client_addr":"127.0.0.1:35030","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2024-02-08T13:04:29Z"} authorization_1 | {"client_addr":"127.0.0.1:35030","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.235259,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:04:29Z"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1707397469.912586} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1707397469.9126697} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1707397469.912686} 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":1707397469.9127052} 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":1707397469.9127266} 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":1707397469.9127614,"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":1707397469.9132361} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1707397469.9142647} 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:38142","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2024-02-08T13:04:29.930271449Z","id":"01HP4D3NQA56PVR400C2BPCST1","name":"crosslab","updated_at":"2024-02-08T13:04:29.930271449Z"},"request_id":"f8f4de51-7df3-43ed-8f00-4b05f26b93ad","subsystem":"openfga","timestamp":1707397469.9303594} 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:38142","raw_request":{"schema_version":"1.1","store_id":"01HP4D3NQA56PVR400C2BPCST1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01HP4D3NRAAPCSB9D7Q39P4SGE"},"request_id":"dc88c06c-8a8f-41ac-8067-c03781eaee73","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397469.9622698} authorization_1 | {"client_addr":"127.0.0.1:35030","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2024-02-08T13:04:29Z"} authorization_1 | {"client_addr":"127.0.0.1:35030","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.215747,"resp_status":204,"subsystem":"opa","time":"2024-02-08T13:04:29Z"} authorization_1 | {"level":"info","message":"Authorization Service started successfully"} authorization_1 | {"current_version":"0.54.0","download_opa":"https://openpolicyagent.org/downloads/v0.61.0/opa_linux_amd64","latest_version":"0.61.0","level":"info","msg":"OPA is out of date.","release_notes":"https://github.com/open-policy-agent/opa/releases/tag/v0.61.0","subsystem":"opa","time":"2024-02-08T13:04:30Z"} gateway_1 | {"time_local":"08/Feb/2024:13:04:34 +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.009","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"c95ae773d5019e98ba2d05b376c0f9b7"} authorization_1 | {"level":"info","message":"HEAD /authorization/status 200 2ms","meta":{"req":{"headers":{"accept":"*/*","connection":"close","host":"authorization_service","user-agent":"curl/7.81.0","x-request-id":"c95ae773d5019e98ba2d05b376c0f9b7"},"httpVersion":"1.0","method":"HEAD","originalUrl":"/authorization/status","query":{},"url":"/authorization/status"},"res":{"statusCode":200},"responseTime":2}} authentication_1 | {"level":"info","message":"POST /login 201 91ms","method":"POST","requestID":"1204ea5757dd0f0480ebe02c1c9179e7","responseTime":91,"status":201,"url":"/login"} gateway_1 | {"time_local":"08/Feb/2024:13:04:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.119","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1204ea5757dd0f0480ebe02c1c9179e7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzQ3N30.KfjjUK79lTrCTu09fQsZzAlqQatoVH9G7oBpx4-ucgw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 198ms","method":"GET","requestID":"1e603d7174ea4bca941225071723afff","responseTime":198,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:36234","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:04:37Z"} authorization_1 | {"client_addr":"127.0.0.1:36234","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.165807,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:04:37Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397477,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzQ3N30.KfjjUK79lTrCTu09fQsZzAlqQatoVH9G7oBpx4-ucgw"} authorization_1 | {"level":"info","message":"POST /authorize 200 19ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e603d7174ea4bca941225071723afff"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":19}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F07554ad8-a575-4157-b6e9-8c6bd18bad0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d79913ac-db99-41af-8dfe-fe38be897f68","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397477.7469401} authorization_1 | {"level":"info","message":"POST /relations/query 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e603d7174ea4bca941225071723afff"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7dfa5ee7-450b-4207-8234-13ab3e96f99e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397477.7650113} authorization_1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e603d7174ea4bca941225071723afff"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F07554ad8-a575-4157-b6e9-8c6bd18bad0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"1212c622-9227-4cee-a366-b04e3b3b316b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397478.4103184} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d15df592-6b45-45d5-950d-ecaeb9123770","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397478.4115329} authorization_1 | {"level":"info","message":"POST /relations/update 200 649ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e603d7174ea4bca941225071723afff"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":649}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F07554ad8-a575-4157-b6e9-8c6bd18bad0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F07554ad8-a575-4157-b6e9-8c6bd18bad0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:04:38.410257737Z"}]},"request_id":"334983e6-8112-40eb-927f-ffecb9c934d4","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397478.4219623} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e603d7174ea4bca941225071723afff"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 964ms","method":"POST","requestID":"1e603d7174ea4bca941225071723afff","responseTime":964,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:04:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"1.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1e603d7174ea4bca941225071723afff"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzQ3OH0.6e7GLHDddqKB_9B0K9esbIhK2frpnb8OP_tsOtaBfh0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"44f977968caf5395a63f15ce45580318","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:36234","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:04:38Z"} authorization_1 | {"client_addr":"127.0.0.1:36234","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.086824,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:04:38Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397478,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzQ3OH0.6e7GLHDddqKB_9B0K9esbIhK2frpnb8OP_tsOtaBfh0"} authorization_1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44f977968caf5395a63f15ce45580318"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ae9cbef-000d-4c58-984a-92f45afb5987","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"935bfdfb-795a-4c56-bee8-b34652820bc0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397479.6566603} authorization_1 | {"level":"info","message":"POST /relations/query 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44f977968caf5395a63f15ce45580318"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96f12d02-0d51-467d-8c86-b2af481d7973","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397479.6703234} authorization_1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44f977968caf5395a63f15ce45580318"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ae9cbef-000d-4c58-984a-92f45afb5987","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"2a13a301-bb41-456f-8e45-faeee9a6cb6a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397480.6746771} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"112a6c3e-ab6f-44f8-8189-f425a3988f63","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397480.6748872} authorization_1 | {"level":"info","message":"POST /relations/update 200 1010ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44f977968caf5395a63f15ce45580318"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":1010}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ae9cbef-000d-4c58-984a-92f45afb5987","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ae9cbef-000d-4c58-984a-92f45afb5987","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:04:40.674656079Z"}]},"request_id":"fd11933c-b1ab-4697-b13a-324ec54d8305","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397480.6895583} authorization_1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44f977968caf5395a63f15ce45580318"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 2231ms","method":"POST","requestID":"44f977968caf5395a63f15ce45580318","responseTime":2231,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:04:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"2.270","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"44f977968caf5395a63f15ce45580318"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6018342a6463376e1c971a991dfeb49a","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:05:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.010","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6018342a6463376e1c971a991dfeb49a"} device_1 | {"level":"info","message":"OPTIONS /devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e/websocket 200 5ms","method":"OPTIONS","requestID":"6018342a6463376e1c971a991dfeb49a","responseTime":5,"status":200,"url":"/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwNX0.Q1qFel_Bv2-8hcjIFAggvVQCxbunTIoTdR6wOFb4wd8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"8ee191123fcea79e2e65353f860bf43c","responseTime":7,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:05Z"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.224144,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:05Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397505,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwNX0.Q1qFel_Bv2-8hcjIFAggvVQCxbunTIoTdR6wOFb4wd8"} authorization_1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ee191123fcea79e2e65353f860bf43c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"2654567460fe10f7209bade372f3f438","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/9ae9cbef-000d-4c58-984a-92f45afb5987/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.007","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2654567460fe10f7209bade372f3f438"} device_1 | {"level":"info","message":"OPTIONS /devices/9ae9cbef-000d-4c58-984a-92f45afb5987/websocket 200 2ms","method":"OPTIONS","requestID":"2654567460fe10f7209bade372f3f438","responseTime":2,"status":200,"url":"/devices/9ae9cbef-000d-4c58-984a-92f45afb5987/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwNn0.A9j6QvHg2Lr-g31LkDoMfvOlQj06preHFqgzZqLAuzU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eced5a7bee383444f1f9ab471ff300f1","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.310","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8ee191123fcea79e2e65353f860bf43c"} device_1 | {"level":"info","message":"POST /devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e/websocket 200 300ms","method":"POST","requestID":"8ee191123fcea79e2e65353f860bf43c","responseTime":300,"status":200,"url":"/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e/websocket"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:06Z"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.148564,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:06Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397506,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwNn0.A9j6QvHg2Lr-g31LkDoMfvOlQj06preHFqgzZqLAuzU"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eced5a7bee383444f1f9ab471ff300f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9ae9cbef-000d-4c58-984a-92f45afb5987/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.276","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"eced5a7bee383444f1f9ab471ff300f1"} device_1 | {"level":"info","message":"POST /devices/9ae9cbef-000d-4c58-984a-92f45afb5987/websocket 200 270ms","method":"POST","requestID":"eced5a7bee383444f1f9ab471ff300f1","responseTime":271,"status":200,"url":"/devices/9ae9cbef-000d-4c58-984a-92f45afb5987/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwNn0.A9j6QvHg2Lr-g31LkDoMfvOlQj06preHFqgzZqLAuzU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"0fea7524e58e7d1913ae24d1b98bab96","responseTime":7,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:06Z"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.094846,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397506,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwNn0.A9j6QvHg2Lr-g31LkDoMfvOlQj06preHFqgzZqLAuzU"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fea7524e58e7d1913ae24d1b98bab96"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F07554ad8-a575-4157-b6e9-8c6bd18bad0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F07554ad8-a575-4157-b6e9-8c6bd18bad0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:04:38.410257737Z"}]},"request_id":"ebf917de-c605-4b2c-8980-00791e54d96a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397506.6843185} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fea7524e58e7d1913ae24d1b98bab96"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0fea7524e58e7d1913ae24d1b98bab96"} device_1 | {"level":"info","message":"GET /devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e? 200 34ms","method":"GET","requestID":"0fea7524e58e7d1913ae24d1b98bab96","responseTime":34,"status":200,"url":"/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwNn0.A9j6QvHg2Lr-g31LkDoMfvOlQj06preHFqgzZqLAuzU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"45b2e805c6846c3b18059d6df90fb0a1","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:06Z"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.128669,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397506,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwNn0.A9j6QvHg2Lr-g31LkDoMfvOlQj06preHFqgzZqLAuzU"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45b2e805c6846c3b18059d6df90fb0a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ae9cbef-000d-4c58-984a-92f45afb5987","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ae9cbef-000d-4c58-984a-92f45afb5987","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:04:40.674656079Z"}]},"request_id":"2e303a8d-79b7-4d06-93ef-97dc8b0310f2","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397506.7304366} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45b2e805c6846c3b18059d6df90fb0a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:05:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9ae9cbef-000d-4c58-984a-92f45afb5987? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45b2e805c6846c3b18059d6df90fb0a1"} device_1 | {"level":"info","message":"GET /devices/9ae9cbef-000d-4c58-984a-92f45afb5987? 200 25ms","method":"GET","requestID":"45b2e805c6846c3b18059d6df90fb0a1","responseTime":25,"status":200,"url":"/devices/9ae9cbef-000d-4c58-984a-92f45afb5987?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwNn0.A9j6QvHg2Lr-g31LkDoMfvOlQj06preHFqgzZqLAuzU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"fec82f31b11fdfe56321d0f77513ea32","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:06Z"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.744551,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:06Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397506,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwNn0.A9j6QvHg2Lr-g31LkDoMfvOlQj06preHFqgzZqLAuzU"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fec82f31b11fdfe56321d0f77513ea32"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:07Z"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.135944,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397506,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwNn0.A9j6QvHg2Lr-g31LkDoMfvOlQj06preHFqgzZqLAuzU"} authorization_1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae9c48b0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:56684","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:07Z"} authorization_1 | {"client_addr":"127.0.0.1:56684","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.089283,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397506,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwNn0.A9j6QvHg2Lr-g31LkDoMfvOlQj06preHFqgzZqLAuzU"} authorization_1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae9ce4f0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F07554ad8-a575-4157-b6e9-8c6bd18bad0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F07554ad8-a575-4157-b6e9-8c6bd18bad0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:04:38.410257737Z"}]},"request_id":"06873352-ce19-4a97-bc6a-cb095a5c2056","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397507.2829196} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae9c48b0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ae9cbef-000d-4c58-984a-92f45afb5987","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ae9cbef-000d-4c58-984a-92f45afb5987","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:04:40.674656079Z"}]},"request_id":"a5017c55-354d-405b-a127-e4c279498189","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397507.2842083} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae9ce4f0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e? 200 34ms","method":"GET","requestID":"ae9c48b0-c682-11ee-9765-47e7fd15fc3d","responseTime":35,"status":200,"url":"/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9ae9cbef-000d-4c58-984a-92f45afb5987? 200 32ms","method":"GET","requestID":"ae9ce4f0-c682-11ee-9765-47e7fd15fc3d","responseTime":32,"status":200,"url":"/devices/9ae9cbef-000d-4c58-984a-92f45afb5987?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:07Z"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764879,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:07Z"} authorization_1 | {"client_addr":"127.0.0.1:56684","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397506,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwNn0.A9j6QvHg2Lr-g31LkDoMfvOlQj06preHFqgzZqLAuzU"} authorization_1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aeec8b90-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"client_addr":"127.0.0.1:56684","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.625647,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397506,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwNn0.A9j6QvHg2Lr-g31LkDoMfvOlQj06preHFqgzZqLAuzU"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aeed00c0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F07554ad8-a575-4157-b6e9-8c6bd18bad0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F07554ad8-a575-4157-b6e9-8c6bd18bad0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:04:38.410257737Z"}]},"request_id":"fa3fcbc0-cbc1-460b-9800-bcfea435fb08","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397507.8055818} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aeec8b90-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ae9cbef-000d-4c58-984a-92f45afb5987","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ae9cbef-000d-4c58-984a-92f45afb5987","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:04:40.674656079Z"}]},"request_id":"4e55c55c-cbc8-4d08-9ce0-086871337b0a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397507.8070087} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aeed00c0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e? 200 28ms","method":"GET","requestID":"aeec8b90-c682-11ee-9765-47e7fd15fc3d","responseTime":28,"status":200,"url":"/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9ae9cbef-000d-4c58-984a-92f45afb5987? 200 27ms","method":"GET","requestID":"aeed00c0-c682-11ee-9765-47e7fd15fc3d","responseTime":27,"status":200,"url":"/devices/9ae9cbef-000d-4c58-984a-92f45afb5987?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:07Z"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.393652,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:07Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aef2a610-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e/signaling 200 17ms","method":"POST","requestID":"aef2a610-c682-11ee-9765-47e7fd15fc3d","responseTime":17,"status":200,"url":"/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:07Z"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.102166,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:07Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aef5da60-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/9ae9cbef-000d-4c58-984a-92f45afb5987/signaling 200 14ms","method":"POST","requestID":"aef5da60-c682-11ee-9765-47e7fd15fc3d","responseTime":14,"status":200,"url":"/devices/9ae9cbef-000d-4c58-984a-92f45afb5987/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"19b7f673-a663-4e8e-939e-db9271baf584"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"5a4382df-cba2-40db-b52d-23a29f243ee9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"12148e26-d402-4608-bc9f-4614f6c38e11"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:07Z"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.04607,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:07Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397506,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwNn0.A9j6QvHg2Lr-g31LkDoMfvOlQj06preHFqgzZqLAuzU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aef9aaf0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb5612572-7ec7-4aff-927b-cbda78bfecfc#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb5612572-7ec7-4aff-927b-cbda78bfecfc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"98446d7a-e69e-4343-b43b-9342aa986173","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397507.9673736} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ed43ab1-e59f-4723-8825-d52d61551669","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397507.9676998} authorization_1 | {"level":"info","message":"POST /relations/update 200 173ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fec82f31b11fdfe56321d0f77513ea32"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":173}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1225ms","method":"POST","requestID":"fec82f31b11fdfe56321d0f77513ea32","responseTime":1225,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"1.256","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fec82f31b11fdfe56321d0f77513ea32"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwOH0._mJnLb3d6BSNM5gEyZPpagLu69qU8JiaW_FNFfKJk5Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"969560d238d2c68085a9034767d34ef9","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:08Z"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.833123,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397508,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwOH0._mJnLb3d6BSNM5gEyZPpagLu69qU8JiaW_FNFfKJk5Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"969560d238d2c68085a9034767d34ef9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F07554ad8-a575-4157-b6e9-8c6bd18bad0e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F07554ad8-a575-4157-b6e9-8c6bd18bad0e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:04:38.410257737Z"}]},"request_id":"c726e422-bfaa-44df-bf56-ec0c34d538a4","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397508.0226367} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"969560d238d2c68085a9034767d34ef9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e? 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":"969560d238d2c68085a9034767d34ef9"} device_1 | {"level":"info","message":"GET /devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e? 200 20ms","method":"GET","requestID":"969560d238d2c68085a9034767d34ef9","responseTime":20,"status":200,"url":"/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwOH0._mJnLb3d6BSNM5gEyZPpagLu69qU8JiaW_FNFfKJk5Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"26cb9bd3ac72ce9783c53ab3fce41579","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:08Z"} authorization_1 | {"client_addr":"127.0.0.1:60442","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.088971,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397508,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzUwOH0._mJnLb3d6BSNM5gEyZPpagLu69qU8JiaW_FNFfKJk5Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26cb9bd3ac72ce9783c53ab3fce41579"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ae9cbef-000d-4c58-984a-92f45afb5987","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9ae9cbef-000d-4c58-984a-92f45afb5987","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:04:40.674656079Z"}]},"request_id":"cb9d6ebf-e043-4aa3-bc43-61673c2c829c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397508.0539558} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26cb9bd3ac72ce9783c53ab3fce41579"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:05:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9ae9cbef-000d-4c58-984a-92f45afb5987? 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":"26cb9bd3ac72ce9783c53ab3fce41579"} device_1 | {"level":"info","message":"GET /devices/9ae9cbef-000d-4c58-984a-92f45afb5987? 200 20ms","method":"GET","requestID":"26cb9bd3ac72ce9783c53ab3fce41579","responseTime":20,"status":200,"url":"/devices/9ae9cbef-000d-4c58-984a-92f45afb5987?"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"e765d67b-d3e3-44a3-821f-cd06bcbb3f5d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397508.1254888} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1037ddb3-4c60-4d9e-bad8-199695f4a045","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397508.1260188} authorization_1 | {"level":"info","message":"POST /relations/update 200 241ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aef9aaf0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":241}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 421ms","method":"POST","requestID":"aef9aaf0-c682-11ee-9765-47e7fd15fc3d","responseTime":421,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987'"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"dc524051-a731-46f3-99ee-4064ee918ddc","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5b8f47d3e6aac2b0acdc7e43097ff0eb","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/9ae9cbef-000d-4c58-984a-92f45afb5987"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 16ms","method":"POST","requestID":"5b8f47d3e6aac2b0acdc7e43097ff0eb","responseTime":16,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch","requestID":"5b8f47d3e6aac2b0acdc7e43097ff0eb"} device_1 | {"data":{"peerconnection":"dc524051-a731-46f3-99ee-4064ee918ddc","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU0OX0.2LMnX_evKLtTqasxHaSxjzkAuKOkVvGy54SJaff9Bvs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6d3b11e3af6155ad8f0865a7a4551712","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:49Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.200989,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397549,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU0OX0.2LMnX_evKLtTqasxHaSxjzkAuKOkVvGy54SJaff9Bvs"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d3b11e3af6155ad8f0865a7a4551712"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"} gateway_1 | {"time_local":"08/Feb/2024:13:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.035","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6d3b11e3af6155ad8f0865a7a4551712"} experiment_1 | {"level":"info","message":"GET /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc 200 27ms","method":"GET","requestID":"6d3b11e3af6155ad8f0865a7a4551712","responseTime":27,"status":200,"url":"/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"} device_1 | {"data":{"peerconnection":"dc524051-a731-46f3-99ee-4064ee918ddc","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU0OX0.2LMnX_evKLtTqasxHaSxjzkAuKOkVvGy54SJaff9Bvs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"6ddb1f3b708b94bb8d74d275eb572c15","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:49Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.192098,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397549,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU0OX0.2LMnX_evKLtTqasxHaSxjzkAuKOkVvGy54SJaff9Bvs"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ddb1f3b708b94bb8d74d275eb572c15"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"} gateway_1 | {"time_local":"08/Feb/2024:13:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.031","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6ddb1f3b708b94bb8d74d275eb572c15"} experiment_1 | {"level":"info","message":"GET /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc 200 23ms","method":"GET","requestID":"6ddb1f3b708b94bb8d74d275eb572c15","responseTime":23,"status":200,"url":"/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"dc524051-a731-46f3-99ee-4064ee918ddc","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"1548df2dc11588ecd63f21b240b7ea9f","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/9ae9cbef-000d-4c58-984a-92f45afb5987"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:49Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdc524051-a731-46f3-99ee-4064ee918ddc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cc75797c-b914-4741-aff1-24c27a086143","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397549.6190765} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.404932,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c7da88a0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU0OX0.2LMnX_evKLtTqasxHaSxjzkAuKOkVvGy54SJaff9Bvs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"497ed5d8c7f25b044c82fdb40d6305f9","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:49Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.380598,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397549,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU0OX0.2LMnX_evKLtTqasxHaSxjzkAuKOkVvGy54SJaff9Bvs"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"497ed5d8c7f25b044c82fdb40d6305f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"} gateway_1 | {"time_local":"08/Feb/2024:13:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"497ed5d8c7f25b044c82fdb40d6305f9"} experiment_1 | {"level":"info","message":"GET /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc 200 20ms","method":"GET","requestID":"497ed5d8c7f25b044c82fdb40d6305f9","responseTime":20,"status":200,"url":"/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc 200 147ms","method":"GET","requestID":"c7da88a0-c682-11ee-9765-47e7fd15fc3d","responseTime":147,"status":200,"url":"/peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU0OX0.2LMnX_evKLtTqasxHaSxjzkAuKOkVvGy54SJaff9Bvs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"fc9bc5e7602a6cb271f68c00c3868df2","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:49Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.120739,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397549,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU0OX0.2LMnX_evKLtTqasxHaSxjzkAuKOkVvGy54SJaff9Bvs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc9bc5e7602a6cb271f68c00c3868df2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 350ms","method":"POST","requestID":"1548df2dc11588ecd63f21b240b7ea9f","responseTime":350,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.355","http_referrer":"","http_user_agent":"node-fetch","requestID":"1548df2dc11588ecd63f21b240b7ea9f"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"} gateway_1 | {"time_local":"08/Feb/2024:13:05:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fc9bc5e7602a6cb271f68c00c3868df2"} experiment_1 | {"level":"info","message":"GET /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc 200 161ms","method":"GET","requestID":"fc9bc5e7602a6cb271f68c00c3868df2","responseTime":161,"status":200,"url":"/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU0OX0.2LMnX_evKLtTqasxHaSxjzkAuKOkVvGy54SJaff9Bvs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e58d602b72048cfd3ff7c426c982251f","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:49Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.126379,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:49Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397549,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU0OX0.2LMnX_evKLtTqasxHaSxjzkAuKOkVvGy54SJaff9Bvs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e58d602b72048cfd3ff7c426c982251f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:49Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.577832,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:49Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397549,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU0OX0.2LMnX_evKLtTqasxHaSxjzkAuKOkVvGy54SJaff9Bvs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c813c110-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"dc524051-a731-46f3-99ee-4064ee918ddc","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"126c1d4c6c06f0f724f54e9926de04e2","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/9ae9cbef-000d-4c58-984a-92f45afb5987"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"67623ee6a72bb002f4e4a8bc0ddd30c7","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/9ae9cbef-000d-4c58-984a-92f45afb5987"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdc524051-a731-46f3-99ee-4064ee918ddc': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdc524051-a731-46f3-99ee-4064ee918ddc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"25289716-4dc7-4c70-8feb-b5b9de2e2582","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397550.0279315} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"58b9d39a-a9cb-477f-a0f2-52fc5ce34d8c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397550.0281286} authorization_1 | {"level":"info","message":"POST /relations/update 200 23ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c813c110-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":23}} device_1 | {"data":{"peerconnection":"dc524051-a731-46f3-99ee-4064ee918ddc","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc 204 347ms","method":"DELETE","requestID":"c813c110-c682-11ee-9765-47e7fd15fc3d","responseTime":347,"status":204,"url":"/peerconnections/dc524051-a731-46f3-99ee-4064ee918ddc"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb5612572-7ec7-4aff-927b-cbda78bfecfc': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fb5612572-7ec7-4aff-927b-cbda78bfecfc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"10ffe37a-e194-4693-9465-d28e50c5836e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397550.6609342} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c1082328-04e1-4ffe-89bb-dd7a34d8cc2d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397550.6613233} authorization_1 | {"level":"info","message":"POST /relations/update 200 156ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e58d602b72048cfd3ff7c426c982251f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":156}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"} gateway_1 | {"time_local":"08/Feb/2024:13:05:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.620","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e58d602b72048cfd3ff7c426c982251f"} experiment_1 | {"level":"info","message":"DELETE /experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc 204 1617ms","method":"DELETE","requestID":"e58d602b72048cfd3ff7c426c982251f","responseTime":1617,"status":204,"url":"/experiments/b5612572-7ec7-4aff-927b-cbda78bfecfc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1MX0.4svKnGrGDK44q8Awx9fJzicVVudihQcYqHv3c0tSeL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9af88e98de5acc036f58fa6fc9f6eecd","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1573ms","method":"POST","requestID":"126c1d4c6c06f0f724f54e9926de04e2","responseTime":1573,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:05:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1489","request_time":"45.422","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"13f3e7691dc71bde81d4325578a23158"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"08/Feb/2024:13:05: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":"1.580","http_referrer":"","http_user_agent":"node-fetch","requestID":"126c1d4c6c06f0f724f54e9926de04e2"} gateway_1 | {"time_local":"08/Feb/2024:13:05: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":"1.583","http_referrer":"","http_user_agent":"node-fetch","requestID":"67623ee6a72bb002f4e4a8bc0ddd30c7"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1577ms","method":"POST","requestID":"67623ee6a72bb002f4e4a8bc0ddd30c7","responseTime":1577,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:05:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1490","request_time":"45.259","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"891944a382eaeddf4258e93b0bd47b10"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:51Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.583755,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:51Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397551,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1MX0.4svKnGrGDK44q8Awx9fJzicVVudihQcYqHv3c0tSeL8"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9af88e98de5acc036f58fa6fc9f6eecd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff96fb8e-10b0-4fa1-af5b-dcda2c894674","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f63eb958-cf44-44ae-acfa-9d1c79cf0f2b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397551.6192844} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9af88e98de5acc036f58fa6fc9f6eecd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2bcba65e-63a5-4fef-8c8d-a27a76ea0bff","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397551.6275442} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9af88e98de5acc036f58fa6fc9f6eecd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e' closed"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff96fb8e-10b0-4fa1-af5b-dcda2c894674","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"cb840d13-9b34-419f-93d7-1f461cfa813b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397551.858789} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e64b6b63-c6a3-4db7-8c85-685e7a7d5076","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397551.8593922} authorization_1 | {"level":"info","message":"POST /relations/update 200 235ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9af88e98de5acc036f58fa6fc9f6eecd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":235}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff96fb8e-10b0-4fa1-af5b-dcda2c894674","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff96fb8e-10b0-4fa1-af5b-dcda2c894674","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:51.858769936Z"}]},"request_id":"4ac257de-ccca-4d88-bfa4-e1be7b5dee19","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397551.8687005} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9af88e98de5acc036f58fa6fc9f6eecd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 279ms","method":"POST","requestID":"9af88e98de5acc036f58fa6fc9f6eecd","responseTime":279,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:05: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.289","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9af88e98de5acc036f58fa6fc9f6eecd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1MX0.4svKnGrGDK44q8Awx9fJzicVVudihQcYqHv3c0tSeL8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e1fa3959b6b4345e6f812fb0e0e678fc","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:51Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.976021,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:51Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397551,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1MX0.4svKnGrGDK44q8Awx9fJzicVVudihQcYqHv3c0tSeL8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1fa3959b6b4345e6f812fb0e0e678fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17df5c41-6d5f-42b6-ad8d-73484a7fc12a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8085f5e1-a02e-476a-989a-ffc972f08633","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397552.0434458} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1fa3959b6b4345e6f812fb0e0e678fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0d487071-698b-44fc-b5a0-42633bd7f34e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397552.052883} authorization_1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1fa3959b6b4345e6f812fb0e0e678fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17df5c41-6d5f-42b6-ad8d-73484a7fc12a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"4ebabefc-fb06-4458-9f32-21a931e8ba0e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397552.2262862} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b57e457-a892-4167-a9de-4ab9dba6eefa","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397552.2265153} authorization_1 | {"level":"info","message":"POST /relations/update 200 176ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1fa3959b6b4345e6f812fb0e0e678fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":176}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17df5c41-6d5f-42b6-ad8d-73484a7fc12a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17df5c41-6d5f-42b6-ad8d-73484a7fc12a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:52.226258447Z"}]},"request_id":"93e0b79e-b979-4d90-a686-70c47916c261","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397552.2344246} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e1fa3959b6b4345e6f812fb0e0e678fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 357ms","method":"POST","requestID":"e1fa3959b6b4345e6f812fb0e0e678fc","responseTime":357,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:05:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.391","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e1fa3959b6b4345e6f812fb0e0e678fc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1Mn0.tQv0Oce1Zjo_C6As-mGvjnTJcoJ-A7n0XHfXBPDsLs0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"139ab40a904e65441928c0cada89f33a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:53Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.746628,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:53Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397552,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1Mn0.tQv0Oce1Zjo_C6As-mGvjnTJcoJ-A7n0XHfXBPDsLs0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"139ab40a904e65441928c0cada89f33a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17df5c41-6d5f-42b6-ad8d-73484a7fc12a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17df5c41-6d5f-42b6-ad8d-73484a7fc12a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:52.226258447Z"}]},"request_id":"738afa60-bfe7-4103-bb51-175f1389c228","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397553.020617} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"139ab40a904e65441928c0cada89f33a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a8f32c91-1942-43ea-8015-9174d63c20ec","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397553.0275836} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"139ab40a904e65441928c0cada89f33a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17df5c41-6d5f-42b6-ad8d-73484a7fc12a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17df5c41-6d5f-42b6-ad8d-73484a7fc12a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:52.226258447Z"}]},"request_id":"b27a7f48-9577-4c15-882b-e3693afab96e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397553.1998365} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"139ab40a904e65441928c0cada89f33a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:05:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.219","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"139ab40a904e65441928c0cada89f33a"} device_1 | {"level":"info","message":"PATCH /devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a 200 213ms","method":"PATCH","requestID":"139ab40a904e65441928c0cada89f33a","responseTime":213,"status":200,"url":"/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1M30.0CbEBbtsbBY2S8zCDm5WBsSS79Haal29cets3d8eRzU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"71f255adf6f3db0d4d68de97e4d4956f","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:53Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.438371,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:53Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397553,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1M30.0CbEBbtsbBY2S8zCDm5WBsSS79Haal29cets3d8eRzU"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71f255adf6f3db0d4d68de97e4d4956f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:05:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.157","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"71f255adf6f3db0d4d68de97e4d4956f"} device_1 | {"level":"info","message":"POST /devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a/websocket 200 150ms","method":"POST","requestID":"71f255adf6f3db0d4d68de97e4d4956f","responseTime":150,"status":200,"url":"/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"227fb1af601f176386b9be3f08718bd1","responseTime":3,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:05:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674/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":"227fb1af601f176386b9be3f08718bd1"} device_1 | {"level":"info","message":"OPTIONS /devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674/websocket 200 2ms","method":"OPTIONS","requestID":"227fb1af601f176386b9be3f08718bd1","responseTime":2,"status":200,"url":"/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1NH0.BB1FZzTsKUaJw4YCnVv1SHackMU1EyNfZSZjLy6iwv8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"bdeea53ac634b7ea8d96ef80eb91aaf7","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:54Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.011522,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:54Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397554,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1NH0.BB1FZzTsKUaJw4YCnVv1SHackMU1EyNfZSZjLy6iwv8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"bdeea53ac634b7ea8d96ef80eb91aaf7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:05:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.170","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"bdeea53ac634b7ea8d96ef80eb91aaf7"} device_1 | {"level":"info","message":"POST /devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674/websocket 200 166ms","method":"POST","requestID":"bdeea53ac634b7ea8d96ef80eb91aaf7","responseTime":166,"status":200,"url":"/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1NH0.BB1FZzTsKUaJw4YCnVv1SHackMU1EyNfZSZjLy6iwv8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"501b7ee126ba7b1bde3cd6b334c9a165","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:54Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.073555,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397554,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1NH0.BB1FZzTsKUaJw4YCnVv1SHackMU1EyNfZSZjLy6iwv8"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"501b7ee126ba7b1bde3cd6b334c9a165"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff96fb8e-10b0-4fa1-af5b-dcda2c894674","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff96fb8e-10b0-4fa1-af5b-dcda2c894674","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:51.858769936Z"}]},"request_id":"3cecef01-46cf-4238-a91a-f8f209e40318","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397554.5609117} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"501b7ee126ba7b1bde3cd6b334c9a165"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:05:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674? 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":"501b7ee126ba7b1bde3cd6b334c9a165"} device_1 | {"level":"info","message":"GET /devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674? 200 24ms","method":"GET","requestID":"501b7ee126ba7b1bde3cd6b334c9a165","responseTime":24,"status":200,"url":"/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1NH0.BB1FZzTsKUaJw4YCnVv1SHackMU1EyNfZSZjLy6iwv8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3efb2f68619e1d15851a970ddd3a4394","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:54Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.105968,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397554,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1NH0.BB1FZzTsKUaJw4YCnVv1SHackMU1EyNfZSZjLy6iwv8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3efb2f68619e1d15851a970ddd3a4394"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17df5c41-6d5f-42b6-ad8d-73484a7fc12a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17df5c41-6d5f-42b6-ad8d-73484a7fc12a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:52.226258447Z"}]},"request_id":"c12cfb54-0af2-482a-93be-bd8fd9282a86","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397554.5893722} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3efb2f68619e1d15851a970ddd3a4394"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:05:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3efb2f68619e1d15851a970ddd3a4394"} device_1 | {"level":"info","message":"GET /devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a? 200 18ms","method":"GET","requestID":"3efb2f68619e1d15851a970ddd3a4394","responseTime":18,"status":200,"url":"/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1NH0.BB1FZzTsKUaJw4YCnVv1SHackMU1EyNfZSZjLy6iwv8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4ba003131b47143bf1600d6cc882cabd","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:54Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.076446,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:54Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397554,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1NH0.BB1FZzTsKUaJw4YCnVv1SHackMU1EyNfZSZjLy6iwv8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ba003131b47143bf1600d6cc882cabd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:54Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.101395,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397554,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1NH0.BB1FZzTsKUaJw4YCnVv1SHackMU1EyNfZSZjLy6iwv8"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb08be20-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:52804","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:54Z"} authorization_1 | {"client_addr":"127.0.0.1:52804","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.655661,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397554,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1NH0.BB1FZzTsKUaJw4YCnVv1SHackMU1EyNfZSZjLy6iwv8"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb090c40-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff96fb8e-10b0-4fa1-af5b-dcda2c894674","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff96fb8e-10b0-4fa1-af5b-dcda2c894674","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:51.858769936Z"}]},"request_id":"5db04461-4dd6-4f80-b4e3-26938c7a4c93","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397554.964661} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb08be20-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17df5c41-6d5f-42b6-ad8d-73484a7fc12a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17df5c41-6d5f-42b6-ad8d-73484a7fc12a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:52.226258447Z"}]},"request_id":"1e562952-b9c8-4067-820a-4cf897fb0a7a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397554.9658582} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb090c40-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674? 200 25ms","method":"GET","requestID":"cb08be20-c682-11ee-9765-47e7fd15fc3d","responseTime":25,"status":200,"url":"/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a? 200 24ms","method":"GET","requestID":"cb090c40-c682-11ee-9765-47e7fd15fc3d","responseTime":24,"status":200,"url":"/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:55Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.277946,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397554,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1NH0.BB1FZzTsKUaJw4YCnVv1SHackMU1EyNfZSZjLy6iwv8"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb55a5a0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:52804","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:55Z"} authorization_1 | {"client_addr":"127.0.0.1:52804","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.044912,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397554,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1NH0.BB1FZzTsKUaJw4YCnVv1SHackMU1EyNfZSZjLy6iwv8"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb561ad0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff96fb8e-10b0-4fa1-af5b-dcda2c894674","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff96fb8e-10b0-4fa1-af5b-dcda2c894674","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:51.858769936Z"}]},"request_id":"fa7ba223-d673-4f27-9bb0-dc85b846b512","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397555.467335} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb55a5a0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17df5c41-6d5f-42b6-ad8d-73484a7fc12a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17df5c41-6d5f-42b6-ad8d-73484a7fc12a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:52.226258447Z"}]},"request_id":"563e027c-56dd-420b-81bb-515c824d0711","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397555.468354} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb561ad0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674? 200 24ms","method":"GET","requestID":"cb55a5a0-c682-11ee-9765-47e7fd15fc3d","responseTime":24,"status":200,"url":"/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a? 200 22ms","method":"GET","requestID":"cb561ad0-c682-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:55Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.9375,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:55Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb5a3980-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674/signaling 200 11ms","method":"POST","requestID":"cb5a3980-c682-11ee-9765-47e7fd15fc3d","responseTime":11,"status":200,"url":"/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:55Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.802671,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:55Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb5c8370-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a/signaling 200 10ms","method":"POST","requestID":"cb5c8370-c682-11ee-9765-47e7fd15fc3d","responseTime":10,"status":200,"url":"/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"269411f3-e5ce-4412-90b7-8e6f77fcf26f"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"e4770c88-575a-4552-b03c-afbc17769510"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"962a5917-6c2e-448d-a3d5-63a3f7c626da"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:55Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.908628,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:55Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397554,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1NH0.BB1FZzTsKUaJw4YCnVv1SHackMU1EyNfZSZjLy6iwv8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb5ea650-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcf07852f-516b-493c-91c7-f0085198433c#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcf07852f-516b-493c-91c7-f0085198433c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"1809a461-277d-4a62-9fd5-3ff9f682b7e3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397555.6236048} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f19f1d5-5e32-4f25-b26e-70d46d03d70b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397555.623915} authorization_1 | {"level":"info","message":"POST /relations/update 200 167ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ba003131b47143bf1600d6cc882cabd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":167}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"fe4668ff-4aaf-40c9-adbb-0572dbfb8bcd","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397555.631329} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4c3a94ea-d460-4601-9703-c59aae8fa73e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397555.631743} authorization_1 | {"level":"info","message":"POST /relations/update 200 110ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb5ea650-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":110}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1033ms","method":"POST","requestID":"4ba003131b47143bf1600d6cc882cabd","responseTime":1033,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"1.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ba003131b47143bf1600d6cc882cabd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1NX0.y01qQsabhuUxSgM_7NqjEJxzBecPQh1-Am-NC9naqqg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1c2ee3cb2ccd0bc060b680b2a46f3ac1","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:55Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.91583,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397555,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1NX0.y01qQsabhuUxSgM_7NqjEJxzBecPQh1-Am-NC9naqqg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c2ee3cb2ccd0bc060b680b2a46f3ac1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff96fb8e-10b0-4fa1-af5b-dcda2c894674","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fff96fb8e-10b0-4fa1-af5b-dcda2c894674","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:51.858769936Z"}]},"request_id":"7ffaa9e9-ca3b-49c4-bf11-dace7312e551","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397555.6554039} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1c2ee3cb2ccd0bc060b680b2a46f3ac1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 300ms","method":"POST","requestID":"cb5ea650-c682-11ee-9765-47e7fd15fc3d","responseTime":300,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.169","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1c2ee3cb2ccd0bc060b680b2a46f3ac1"} device_1 | {"level":"info","message":"GET /devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674? 200 166ms","method":"GET","requestID":"1c2ee3cb2ccd0bc060b680b2a46f3ac1","responseTime":166,"status":200,"url":"/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1NX0.y01qQsabhuUxSgM_7NqjEJxzBecPQh1-Am-NC9naqqg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"132c4936150638bd3bc29461c2efd61a","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:55Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.746527,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397555,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1NX0.y01qQsabhuUxSgM_7NqjEJxzBecPQh1-Am-NC9naqqg"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"132c4936150638bd3bc29461c2efd61a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17df5c41-6d5f-42b6-ad8d-73484a7fc12a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F17df5c41-6d5f-42b6-ad8d-73484a7fc12a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:52.226258447Z"}]},"request_id":"52b86858-9967-45c7-ac7a-4cda7053fa4e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397555.829986} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"132c4936150638bd3bc29461c2efd61a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:05:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"132c4936150638bd3bc29461c2efd61a"} device_1 | {"level":"info","message":"GET /devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a? 200 13ms","method":"GET","requestID":"132c4936150638bd3bc29461c2efd61a","responseTime":13,"status":200,"url":"/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a?"} device_1 | {"data":{"peerconnection":"0154b53c-d175-4e6b-ae70-89e32ca82830","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0154b53c-d175-4e6b-ae70-89e32ca82830","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"874217e7155ac72101424b3bc025a36f","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/ff96fb8e-10b0-4fa1-af5b-dcda2c894674"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 176ms","method":"POST","requestID":"874217e7155ac72101424b3bc025a36f","responseTime":176,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:05: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.179","http_referrer":"","http_user_agent":"node-fetch","requestID":"874217e7155ac72101424b3bc025a36f"} device_1 | {"data":{"peerconnection":"0154b53c-d175-4e6b-ae70-89e32ca82830","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1Nn0.HlhiejGU4I3UXUTw0W_4iwogYLOQHlzeBSSAzoGEqjc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"0ca82b43934677859240ed5a44c58009","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/cf07852f-516b-493c-91c7-f0085198433c"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:56Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.297874,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:56Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397556,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1Nn0.HlhiejGU4I3UXUTw0W_4iwogYLOQHlzeBSSAzoGEqjc"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ca82b43934677859240ed5a44c58009"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/cf07852f-516b-493c-91c7-f0085198433c"} gateway_1 | {"time_local":"08/Feb/2024:13:05:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/cf07852f-516b-493c-91c7-f0085198433c HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.077","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0ca82b43934677859240ed5a44c58009"} experiment_1 | {"level":"info","message":"GET /experiments/cf07852f-516b-493c-91c7-f0085198433c 200 69ms","method":"GET","requestID":"0ca82b43934677859240ed5a44c58009","responseTime":69,"status":200,"url":"/experiments/cf07852f-516b-493c-91c7-f0085198433c"} device_1 | {"data":{"peerconnection":"0154b53c-d175-4e6b-ae70-89e32ca82830","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1Nn0.HlhiejGU4I3UXUTw0W_4iwogYLOQHlzeBSSAzoGEqjc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"57a15b92a47fedfbb05dc26510a7abfd","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/cf07852f-516b-493c-91c7-f0085198433c"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:56Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.195254,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:56Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397556,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1Nn0.HlhiejGU4I3UXUTw0W_4iwogYLOQHlzeBSSAzoGEqjc"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"57a15b92a47fedfbb05dc26510a7abfd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/cf07852f-516b-493c-91c7-f0085198433c"} gateway_1 | {"time_local":"08/Feb/2024:13:05:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/cf07852f-516b-493c-91c7-f0085198433c HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"57a15b92a47fedfbb05dc26510a7abfd"} experiment_1 | {"level":"info","message":"GET /experiments/cf07852f-516b-493c-91c7-f0085198433c 200 17ms","method":"GET","requestID":"57a15b92a47fedfbb05dc26510a7abfd","responseTime":17,"status":200,"url":"/experiments/cf07852f-516b-493c-91c7-f0085198433c"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0154b53c-d175-4e6b-ae70-89e32ca82830","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a678d8206ee052d7da167b2095ab1969","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/ff96fb8e-10b0-4fa1-af5b-dcda2c894674"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:56Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0154b53c-d175-4e6b-ae70-89e32ca82830","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"755e498f-622f-4b53-908b-8fdd904350d5","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397556.5029256} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.765587,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:56Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cbf56810-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1Nn0.HlhiejGU4I3UXUTw0W_4iwogYLOQHlzeBSSAzoGEqjc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e961d7a6953b8871aaf566cfb13fe95b","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/cf07852f-516b-493c-91c7-f0085198433c"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:56Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.033324,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:56Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397556,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1Nn0.HlhiejGU4I3UXUTw0W_4iwogYLOQHlzeBSSAzoGEqjc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e961d7a6953b8871aaf566cfb13fe95b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/cf07852f-516b-493c-91c7-f0085198433c"} experiment_1 | {"level":"info","message":"GET /experiments/cf07852f-516b-493c-91c7-f0085198433c 200 17ms","method":"GET","requestID":"e961d7a6953b8871aaf566cfb13fe95b","responseTime":17,"status":200,"url":"/experiments/cf07852f-516b-493c-91c7-f0085198433c"} gateway_1 | {"time_local":"08/Feb/2024:13:05:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/cf07852f-516b-493c-91c7-f0085198433c HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e961d7a6953b8871aaf566cfb13fe95b"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830 200 140ms","method":"GET","requestID":"cbf56810-c682-11ee-9765-47e7fd15fc3d","responseTime":140,"status":200,"url":"/peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1Nn0.HlhiejGU4I3UXUTw0W_4iwogYLOQHlzeBSSAzoGEqjc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"2dd9dae812e3b9f915080cb1c293408c","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/cf07852f-516b-493c-91c7-f0085198433c"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:56Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.055215,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:56Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397556,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1Nn0.HlhiejGU4I3UXUTw0W_4iwogYLOQHlzeBSSAzoGEqjc"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2dd9dae812e3b9f915080cb1c293408c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 337ms","method":"POST","requestID":"a678d8206ee052d7da167b2095ab1969","responseTime":337,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:05: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.341","http_referrer":"","http_user_agent":"node-fetch","requestID":"a678d8206ee052d7da167b2095ab1969"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/cf07852f-516b-493c-91c7-f0085198433c"} gateway_1 | {"time_local":"08/Feb/2024:13:05:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/cf07852f-516b-493c-91c7-f0085198433c HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.161","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2dd9dae812e3b9f915080cb1c293408c"} experiment_1 | {"level":"info","message":"GET /experiments/cf07852f-516b-493c-91c7-f0085198433c 200 154ms","method":"GET","requestID":"2dd9dae812e3b9f915080cb1c293408c","responseTime":154,"status":200,"url":"/experiments/cf07852f-516b-493c-91c7-f0085198433c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1Nn0.HlhiejGU4I3UXUTw0W_4iwogYLOQHlzeBSSAzoGEqjc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"57cc259f703f01a215b85333896dee08","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/cf07852f-516b-493c-91c7-f0085198433c"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:56Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.094902,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:56Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397556,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1Nn0.HlhiejGU4I3UXUTw0W_4iwogYLOQHlzeBSSAzoGEqjc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"57cc259f703f01a215b85333896dee08"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:56Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.909855,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:56Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397556,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1Nn0.HlhiejGU4I3UXUTw0W_4iwogYLOQHlzeBSSAzoGEqjc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc2d8f10-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0154b53c-d175-4e6b-ae70-89e32ca82830","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0154b53c-d175-4e6b-ae70-89e32ca82830': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0154b53c-d175-4e6b-ae70-89e32ca82830","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"743d6c57-4d28-43a2-8a87-f7af38969574","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397556.8868198} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e2865efae87ab66369bb76fa90da5aa7","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:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed8a5db3-a730-4e4b-b430-ecb1be010315","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397556.8872468} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f4c516762dba47bc85091a74c6a3a4e5","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/ff96fb8e-10b0-4fa1-af5b-dcda2c894674"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc2d8f10-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"0154b53c-d175-4e6b-ae70-89e32ca82830","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830 204 339ms","method":"DELETE","requestID":"cc2d8f10-c682-11ee-9765-47e7fd15fc3d","responseTime":339,"status":204,"url":"/peerconnections/0154b53c-d175-4e6b-ae70-89e32ca82830"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/cf07852f-516b-493c-91c7-f0085198433c"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcf07852f-516b-493c-91c7-f0085198433c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcf07852f-516b-493c-91c7-f0085198433c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"ab23fc89-c9f8-4339-b1c2-cdea4cc2c304","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397557.6172621} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"422df34f-9133-49cf-a477-f4f4d0113a2c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397557.6177146} authorization_1 | {"level":"info","message":"POST /relations/update 200 248ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"57cc259f703f01a215b85333896dee08"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":248}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/cf07852f-516b-493c-91c7-f0085198433c"} gateway_1 | {"time_local":"08/Feb/2024:13:05:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/cf07852f-516b-493c-91c7-f0085198433c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.793","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"57cc259f703f01a215b85333896dee08"} gateway_1 | {"time_local":"08/Feb/2024:13:05:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1438","request_time":"5.263","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"c6267b6515f9060f9672c3876a6ef5ac"} experiment_1 | {"level":"info","message":"DELETE /experiments/cf07852f-516b-493c-91c7-f0085198433c 204 1789ms","method":"DELETE","requestID":"57cc259f703f01a215b85333896dee08","responseTime":1789,"status":204,"url":"/experiments/cf07852f-516b-493c-91c7-f0085198433c"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1754ms","method":"POST","requestID":"e2865efae87ab66369bb76fa90da5aa7","responseTime":1754,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:05:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.758","http_referrer":"","http_user_agent":"node-fetch","requestID":"e2865efae87ab66369bb76fa90da5aa7"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1754ms","method":"POST","requestID":"f4c516762dba47bc85091a74c6a3a4e5","responseTime":1754,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:05:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.759","http_referrer":"","http_user_agent":"node-fetch","requestID":"f4c516762dba47bc85091a74c6a3a4e5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1OH0.b2zDNIsX3qFXEgDSTOapQEUDs4_kmn-psVY-vh-IsbM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4bcbb95e1ad6d624d72702277b8a8396","responseTime":4,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:05:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1521","request_time":"4.293","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fd37ad3049820f8f55142e1ebdddd9a8"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:58Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.897321,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:58Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397558,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1OH0.b2zDNIsX3qFXEgDSTOapQEUDs4_kmn-psVY-vh-IsbM"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bcbb95e1ad6d624d72702277b8a8396"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4079cb-5bc9-46c1-b6a6-aea128df545d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cd12a803-6d14-429b-8115-7b0eac1ab851","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397559.0533972} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bcbb95e1ad6d624d72702277b8a8396"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"79f9a703-79eb-40e9-9cdf-b97cbb294ce0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397559.061255} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bcbb95e1ad6d624d72702277b8a8396"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674' closed"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4079cb-5bc9-46c1-b6a6-aea128df545d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"940b6ae9-7551-4a2f-a028-74c9e9b02961","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397559.2751946} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"51183a8d-1bdf-4f59-a149-0ba94e2a2a87","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397559.2751713} authorization_1 | {"level":"info","message":"POST /relations/update 200 217ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bcbb95e1ad6d624d72702277b8a8396"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":217}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4079cb-5bc9-46c1-b6a6-aea128df545d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4079cb-5bc9-46c1-b6a6-aea128df545d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:59.275140414Z"}]},"request_id":"c2c81bd2-eb80-43d9-b153-607960236bb7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397559.2832842} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4bcbb95e1ad6d624d72702277b8a8396"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 637ms","method":"POST","requestID":"4bcbb95e1ad6d624d72702277b8a8396","responseTime":637,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:05:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.648","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4bcbb95e1ad6d624d72702277b8a8396"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1OX0.cMkbu04ZZGhCClhRJnjarW6-Ja5jq2Z9BkWXEotm_74","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c37cfd02766155bde899cf3da34c9f14","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:05:59Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.054631,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:05:59Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397559,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU1OX0.cMkbu04ZZGhCClhRJnjarW6-Ja5jq2Z9BkWXEotm_74"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c37cfd02766155bde899cf3da34c9f14"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f67d625-404b-4d88-8493-d254da2b198d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"00039d93-fa81-4112-a753-23e4f250ed20","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397559.4426925} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c37cfd02766155bde899cf3da34c9f14"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2904ff3e-e026-44c8-8cb4-8c98ccb17366","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397559.452021} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c37cfd02766155bde899cf3da34c9f14"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f67d625-404b-4d88-8493-d254da2b198d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"36e3d1cc-00cc-48ba-a17e-a4406157f607","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397559.6425834} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2f64586e-bf5d-4d65-ba12-453e9c0e18dd","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397559.643117} authorization_1 | {"level":"info","message":"POST /relations/update 200 194ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c37cfd02766155bde899cf3da34c9f14"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":194}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f67d625-404b-4d88-8493-d254da2b198d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f67d625-404b-4d88-8493-d254da2b198d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:59.642552610Z"}]},"request_id":"c1c7ca13-30b2-4a23-9615-5c312477d80e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397559.6504407} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c37cfd02766155bde899cf3da34c9f14"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 358ms","method":"POST","requestID":"c37cfd02766155bde899cf3da34c9f14","responseTime":358,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:05:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.388","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c37cfd02766155bde899cf3da34c9f14"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2MH0.QvUD3PtWOxUefz9E9EdCG0E1CtpVceKtOdj202yuKnM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7d4875f8c1f47dae55006295abd70b87","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:00Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.905389,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:00Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397560,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2MH0.QvUD3PtWOxUefz9E9EdCG0E1CtpVceKtOdj202yuKnM"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d4875f8c1f47dae55006295abd70b87"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4079cb-5bc9-46c1-b6a6-aea128df545d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4079cb-5bc9-46c1-b6a6-aea128df545d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:59.275140414Z"}]},"request_id":"6428f558-e268-4c2c-8e99-43d691e9f425","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397560.143755} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d4875f8c1f47dae55006295abd70b87"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1592238a-6ed4-4378-9d20-db9284c513bb","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397560.1511703} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d4875f8c1f47dae55006295abd70b87"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4079cb-5bc9-46c1-b6a6-aea128df545d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4079cb-5bc9-46c1-b6a6-aea128df545d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:59.275140414Z"}]},"request_id":"22ae12dd-89eb-4d73-a172-616e377997a5","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397560.311645} authorization_1 | {"level":"info","message":"POST /relations/query 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d4875f8c1f47dae55006295abd70b87"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:06:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.196","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"7d4875f8c1f47dae55006295abd70b87"} device_1 | {"level":"info","message":"PATCH /devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d 200 190ms","method":"PATCH","requestID":"7d4875f8c1f47dae55006295abd70b87","responseTime":190,"status":200,"url":"/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2MH0.QvUD3PtWOxUefz9E9EdCG0E1CtpVceKtOdj202yuKnM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"69c78bf28b7d40b30b5aa5b7a8257165","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:00Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.827276,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:00Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397560,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2MH0.QvUD3PtWOxUefz9E9EdCG0E1CtpVceKtOdj202yuKnM"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69c78bf28b7d40b30b5aa5b7a8257165"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:06:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.154","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"69c78bf28b7d40b30b5aa5b7a8257165"} device_1 | {"level":"info","message":"POST /devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d/websocket 200 149ms","method":"POST","requestID":"69c78bf28b7d40b30b5aa5b7a8257165","responseTime":149,"status":200,"url":"/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"4882e53af6c8a07f149dc408f6c54481","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5f67d625-404b-4d88-8493-d254da2b198d/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":"4882e53af6c8a07f149dc408f6c54481"} device_1 | {"level":"info","message":"OPTIONS /devices/5f67d625-404b-4d88-8493-d254da2b198d/websocket 200 1ms","method":"OPTIONS","requestID":"4882e53af6c8a07f149dc408f6c54481","responseTime":1,"status":200,"url":"/devices/5f67d625-404b-4d88-8493-d254da2b198d/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2MX0.0x7uPSZRvqqpa9yq3yToMbB4sRyna7e89I-onRKciFQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f848b07b240e7b676656b7ed56657746","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:01Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.478992,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:01Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397561,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2MX0.0x7uPSZRvqqpa9yq3yToMbB4sRyna7e89I-onRKciFQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f848b07b240e7b676656b7ed56657746"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/5f67d625-404b-4d88-8493-d254da2b198d/websocket 200 163ms","method":"POST","requestID":"f848b07b240e7b676656b7ed56657746","responseTime":163,"status":200,"url":"/devices/5f67d625-404b-4d88-8493-d254da2b198d/websocket"} gateway_1 | {"time_local":"08/Feb/2024:13:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5f67d625-404b-4d88-8493-d254da2b198d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.169","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f848b07b240e7b676656b7ed56657746"} device_1 | {"level":"info","message":"device 'http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2MX0.0x7uPSZRvqqpa9yq3yToMbB4sRyna7e89I-onRKciFQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b66258b3943c8dab3ead40d99bbda3db","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:01Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734877,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397561,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2MX0.0x7uPSZRvqqpa9yq3yToMbB4sRyna7e89I-onRKciFQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b66258b3943c8dab3ead40d99bbda3db"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4079cb-5bc9-46c1-b6a6-aea128df545d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4079cb-5bc9-46c1-b6a6-aea128df545d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:59.275140414Z"}]},"request_id":"b4531215-c8d5-4219-8a81-576f17eca121","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397561.9509633} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b66258b3943c8dab3ead40d99bbda3db"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b66258b3943c8dab3ead40d99bbda3db"} device_1 | {"level":"info","message":"GET /devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d? 200 18ms","method":"GET","requestID":"b66258b3943c8dab3ead40d99bbda3db","responseTime":18,"status":200,"url":"/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2MX0.0x7uPSZRvqqpa9yq3yToMbB4sRyna7e89I-onRKciFQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6fc5b6ee19de8c129c078ea1473fb150","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:01Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.885938,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397561,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2MX0.0x7uPSZRvqqpa9yq3yToMbB4sRyna7e89I-onRKciFQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6fc5b6ee19de8c129c078ea1473fb150"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f67d625-404b-4d88-8493-d254da2b198d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f67d625-404b-4d88-8493-d254da2b198d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:59.642552610Z"}]},"request_id":"a681faab-7600-4f8a-b2ac-ff4462b19da6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397561.9758353} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6fc5b6ee19de8c129c078ea1473fb150"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/5f67d625-404b-4d88-8493-d254da2b198d? 200 16ms","method":"GET","requestID":"6fc5b6ee19de8c129c078ea1473fb150","responseTime":16,"status":200,"url":"/devices/5f67d625-404b-4d88-8493-d254da2b198d?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5f67d625-404b-4d88-8493-d254da2b198d? 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":"6fc5b6ee19de8c129c078ea1473fb150"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2MX0.0x7uPSZRvqqpa9yq3yToMbB4sRyna7e89I-onRKciFQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"42219b93f9c1dc4b43dfaef70d06ac73","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:01Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.051371,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:01Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397561,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2MX0.0x7uPSZRvqqpa9yq3yToMbB4sRyna7e89I-onRKciFQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42219b93f9c1dc4b43dfaef70d06ac73"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:02Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.188163,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397561,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2MX0.0x7uPSZRvqqpa9yq3yToMbB4sRyna7e89I-onRKciFQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf6fc1c0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:60284","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:02Z"} authorization_1 | {"client_addr":"127.0.0.1:60284","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.943481,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397561,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2MX0.0x7uPSZRvqqpa9yq3yToMbB4sRyna7e89I-onRKciFQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf700fe0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4079cb-5bc9-46c1-b6a6-aea128df545d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4079cb-5bc9-46c1-b6a6-aea128df545d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:59.275140414Z"}]},"request_id":"172d31b8-0ee6-452a-b5ab-026c76fd9c4e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397562.3468974} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf6fc1c0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f67d625-404b-4d88-8493-d254da2b198d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f67d625-404b-4d88-8493-d254da2b198d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:59.642552610Z"}]},"request_id":"7b04948a-019e-4351-a0f1-4283c8d8ad5d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397562.347705} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf700fe0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d? 200 22ms","method":"GET","requestID":"cf6fc1c0-c682-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/5f67d625-404b-4d88-8493-d254da2b198d? 200 21ms","method":"GET","requestID":"cf700fe0-c682-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/5f67d625-404b-4d88-8493-d254da2b198d?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:02Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.250122,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:02Z"} authorization_1 | {"client_addr":"127.0.0.1:60284","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397561,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2MX0.0x7uPSZRvqqpa9yq3yToMbB4sRyna7e89I-onRKciFQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cfc0a0e0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:60284","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.721218,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397561,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2MX0.0x7uPSZRvqqpa9yq3yToMbB4sRyna7e89I-onRKciFQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cfc0ef00-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4079cb-5bc9-46c1-b6a6-aea128df545d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4079cb-5bc9-46c1-b6a6-aea128df545d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:59.275140414Z"}]},"request_id":"a60c49d8-ac88-4d8d-889d-f8710c54d400","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397562.8787858} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cfc0a0e0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f67d625-404b-4d88-8493-d254da2b198d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f67d625-404b-4d88-8493-d254da2b198d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:59.642552610Z"}]},"request_id":"27de5101-7b0e-4bf5-b222-af937d297a07","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397562.880113} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cfc0ef00-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d? 200 23ms","method":"GET","requestID":"cfc0a0e0-c682-11ee-9765-47e7fd15fc3d","responseTime":23,"status":200,"url":"/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/5f67d625-404b-4d88-8493-d254da2b198d? 200 22ms","method":"GET","requestID":"cfc0ef00-c682-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/5f67d625-404b-4d88-8493-d254da2b198d?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:02Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.078953,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:02Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cfc4bf90-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d/signaling 200 9ms","method":"POST","requestID":"cfc4bf90-c682-11ee-9765-47e7fd15fc3d","responseTime":9,"status":200,"url":"/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:02Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.934717,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:02Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cfc69450-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/5f67d625-404b-4d88-8493-d254da2b198d/signaling 200 10ms","method":"POST","requestID":"cfc69450-c682-11ee-9765-47e7fd15fc3d","responseTime":10,"status":200,"url":"/devices/5f67d625-404b-4d88-8493-d254da2b198d/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"31ce1557-674c-498c-acfb-9a669eceff78"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"812162cc-e92d-479c-9850-516f687a12d7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6b238e47-f91c-4107-8b7e-5ab074cfe5af"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:02Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.060344,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:02Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397561,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2MX0.0x7uPSZRvqqpa9yq3yToMbB4sRyna7e89I-onRKciFQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cfc8de40-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8c4c4f40-2962-4973-9e3d-af665ca9857e#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8c4c4f40-2962-4973-9e3d-af665ca9857e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"73279d08-c1b2-4431-b0da-8c281acf3643","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397563.0522683} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8a487925-041c-4de5-980d-e820bc044860","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397563.0525503} authorization_1 | {"level":"info","message":"POST /relations/update 200 187ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"42219b93f9c1dc4b43dfaef70d06ac73"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":187}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"249bfa02-9f22-4f5a-bf9c-c6b858755bb8","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397563.0548635} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b0e6a39f-b81a-4712-b517-f48cf652e5ca","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397563.0564818} authorization_1 | {"level":"info","message":"POST /relations/update 200 134ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cfc8de40-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":134}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1080ms","method":"POST","requestID":"42219b93f9c1dc4b43dfaef70d06ac73","responseTime":1080,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"1.087","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42219b93f9c1dc4b43dfaef70d06ac73"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2M30.kn1U961Ve_ImDgltbtbukBzuMANaU5QhORM6lKrAzFY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7ca94037ec9788af34ec58308f05f1d4","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:03Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.062703,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397563,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2M30.kn1U961Ve_ImDgltbtbukBzuMANaU5QhORM6lKrAzFY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ca94037ec9788af34ec58308f05f1d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4079cb-5bc9-46c1-b6a6-aea128df545d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F9a4079cb-5bc9-46c1-b6a6-aea128df545d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:59.275140414Z"}]},"request_id":"9ad0b36a-7c26-4a5d-a626-e192c518aed0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397563.090065} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ca94037ec9788af34ec58308f05f1d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 321ms","method":"POST","requestID":"cfc8de40-c682-11ee-9765-47e7fd15fc3d","responseTime":321,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.167","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ca94037ec9788af34ec58308f05f1d4"} device_1 | {"level":"info","message":"GET /devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d? 200 161ms","method":"GET","requestID":"7ca94037ec9788af34ec58308f05f1d4","responseTime":161,"status":200,"url":"/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2M30.kn1U961Ve_ImDgltbtbukBzuMANaU5QhORM6lKrAzFY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"467cc391755216973cf4d5632584db92","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:03Z"} authorization_1 | {"client_addr":"127.0.0.1:52788","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717303,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397563,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzU2M30.kn1U961Ve_ImDgltbtbukBzuMANaU5QhORM6lKrAzFY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"467cc391755216973cf4d5632584db92"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f67d625-404b-4d88-8493-d254da2b198d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f67d625-404b-4d88-8493-d254da2b198d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:05:59.642552610Z"}]},"request_id":"291e767a-7b3a-4598-b742-16384d828a92","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397563.2596323} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"467cc391755216973cf4d5632584db92"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:06:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5f67d625-404b-4d88-8493-d254da2b198d? 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":"467cc391755216973cf4d5632584db92"} device_1 | {"level":"info","message":"GET /devices/5f67d625-404b-4d88-8493-d254da2b198d? 200 14ms","method":"GET","requestID":"467cc391755216973cf4d5632584db92","responseTime":14,"status":200,"url":"/devices/5f67d625-404b-4d88-8493-d254da2b198d?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d'"} device_1 | {"data":{"peerconnection":"f9c8f8cc-401e-47b9-8480-29436ab0992f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f9c8f8cc-401e-47b9-8480-29436ab0992f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f9b4018b1e40f83d278ac0e2b3d76d83","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/9a4079cb-5bc9-46c1-b6a6-aea128df545d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"f9b4018b1e40f83d278ac0e2b3d76d83","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:06:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"f9b4018b1e40f83d278ac0e2b3d76d83"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwNH0.kJD9JGexKkoY9qPhPe9BNLmPDxZ3CdZ2Fq_4-RTnPCg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4c2fdb7750ee62aafb9062c5c076c290","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:44Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.584044,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397604,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwNH0.kJD9JGexKkoY9qPhPe9BNLmPDxZ3CdZ2Fq_4-RTnPCg"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4c2fdb7750ee62aafb9062c5c076c290"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} gateway_1 | {"time_local":"08/Feb/2024:13:06:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4c2fdb7750ee62aafb9062c5c076c290"} experiment_1 | {"level":"info","message":"GET /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e 200 21ms","method":"GET","requestID":"4c2fdb7750ee62aafb9062c5c076c290","responseTime":21,"status":200,"url":"/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} device_1 | {"data":{"peerconnection":"f9c8f8cc-401e-47b9-8480-29436ab0992f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwNH0.kJD9JGexKkoY9qPhPe9BNLmPDxZ3CdZ2Fq_4-RTnPCg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8613a815038ad54489b89bde236feb1c","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:44Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.224384,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397604,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwNH0.kJD9JGexKkoY9qPhPe9BNLmPDxZ3CdZ2Fq_4-RTnPCg"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8613a815038ad54489b89bde236feb1c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} gateway_1 | {"time_local":"08/Feb/2024:13:06:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8613a815038ad54489b89bde236feb1c"} experiment_1 | {"level":"info","message":"GET /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e 200 17ms","method":"GET","requestID":"8613a815038ad54489b89bde236feb1c","responseTime":17,"status":200,"url":"/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} device_1 | {"data":{"peerconnection":"f9c8f8cc-401e-47b9-8480-29436ab0992f","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwNH0.kJD9JGexKkoY9qPhPe9BNLmPDxZ3CdZ2Fq_4-RTnPCg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"dd03b764c65ac8c224d300d0307b2bfd","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:44Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.416511,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397604,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwNH0.kJD9JGexKkoY9qPhPe9BNLmPDxZ3CdZ2Fq_4-RTnPCg"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd03b764c65ac8c224d300d0307b2bfd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} gateway_1 | {"time_local":"08/Feb/2024:13:06:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd03b764c65ac8c224d300d0307b2bfd"} experiment_1 | {"level":"info","message":"GET /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e 200 21ms","method":"GET","requestID":"dd03b764c65ac8c224d300d0307b2bfd","responseTime":21,"status":200,"url":"/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f9c8f8cc-401e-47b9-8480-29436ab0992f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"734f2d7443fcd3ea3fc59136c633e563","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/9a4079cb-5bc9-46c1-b6a6-aea128df545d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:44Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff9c8f8cc-401e-47b9-8480-29436ab0992f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d34ee32-7da6-4243-9d68-6fd7b51580f2","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397604.7798882} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.41912,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8bb9640-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwNH0.kJD9JGexKkoY9qPhPe9BNLmPDxZ3CdZ2Fq_4-RTnPCg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c560bc32df074f8c8341407162ae1fb2","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:44Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.03188,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397604,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwNH0.kJD9JGexKkoY9qPhPe9BNLmPDxZ3CdZ2Fq_4-RTnPCg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c560bc32df074f8c8341407162ae1fb2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} gateway_1 | {"time_local":"08/Feb/2024:13:06:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c560bc32df074f8c8341407162ae1fb2"} experiment_1 | {"level":"info","message":"GET /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e 200 14ms","method":"GET","requestID":"c560bc32df074f8c8341407162ae1fb2","responseTime":14,"status":200,"url":"/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwNH0.kJD9JGexKkoY9qPhPe9BNLmPDxZ3CdZ2Fq_4-RTnPCg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"71d631ab47feefc82df417326f498eda","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:44Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.182319,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397604,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwNH0.kJD9JGexKkoY9qPhPe9BNLmPDxZ3CdZ2Fq_4-RTnPCg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71d631ab47feefc82df417326f498eda"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} gateway_1 | {"time_local":"08/Feb/2024:13:06:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e HTTP/1.1","status": "200","body_bytes_sent":"882","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"71d631ab47feefc82df417326f498eda"} experiment_1 | {"level":"info","message":"GET /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e 200 15ms","method":"GET","requestID":"71d631ab47feefc82df417326f498eda","responseTime":15,"status":200,"url":"/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f 200 159ms","method":"GET","requestID":"e8bb9640-c682-11ee-9765-47e7fd15fc3d","responseTime":159,"status":200,"url":"/peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwNX0.8ZFYHCe4Sil104pbNU6JlymdFHHmAVB_Oo6RK08XN58","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"09a36e461ae74fa9f8a235744d7455e2","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:45Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.417287,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:45Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397605,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwNX0.8ZFYHCe4Sil104pbNU6JlymdFHHmAVB_Oo6RK08XN58"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"09a36e461ae74fa9f8a235744d7455e2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 328ms","method":"POST","requestID":"734f2d7443fcd3ea3fc59136c633e563","responseTime":328,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:06:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.332","http_referrer":"","http_user_agent":"node-fetch","requestID":"734f2d7443fcd3ea3fc59136c633e563"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} gateway_1 | {"time_local":"08/Feb/2024:13:06:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"09a36e461ae74fa9f8a235744d7455e2"} experiment_1 | {"level":"info","message":"GET /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e 200 57ms","method":"GET","requestID":"09a36e461ae74fa9f8a235744d7455e2","responseTime":57,"status":200,"url":"/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwNX0.8ZFYHCe4Sil104pbNU6JlymdFHHmAVB_Oo6RK08XN58","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"698af2044f1f24b80b826c50beabf3c6","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:45Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.306633,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:45Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397605,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwNX0.8ZFYHCe4Sil104pbNU6JlymdFHHmAVB_Oo6RK08XN58"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"698af2044f1f24b80b826c50beabf3c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:45Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.121262,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:45Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397605,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwNX0.8ZFYHCe4Sil104pbNU6JlymdFHHmAVB_Oo6RK08XN58"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8f0fe20-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f9c8f8cc-401e-47b9-8480-29436ab0992f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"57429b1c0e7dcea8e7182b8b8af06abb","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff9c8f8cc-401e-47b9-8480-29436ab0992f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff9c8f8cc-401e-47b9-8480-29436ab0992f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"5d6414ab-7aea-4637-a002-b1258c3850dc","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397605.1481657} 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/9a4079cb-5bc9-46c1-b6a6-aea128df545d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"69f06d00ca6b01128f34fb34b621aae7","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:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f88ebfe-1093-4e76-9dd2-fa46adee1cf6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397605.1485283} 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/9a4079cb-5bc9-46c1-b6a6-aea128df545d"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8f0fe20-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"data":{"peerconnection":"f9c8f8cc-401e-47b9-8480-29436ab0992f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f 204 311ms","method":"DELETE","requestID":"e8f0fe20-c682-11ee-9765-47e7fd15fc3d","responseTime":311,"status":204,"url":"/peerconnections/f9c8f8cc-401e-47b9-8480-29436ab0992f"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8c4c4f40-2962-4973-9e3d-af665ca9857e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F8c4c4f40-2962-4973-9e3d-af665ca9857e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"04869de4-cf5e-49f5-a065-7779717be027","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397605.7626655} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"004d7d5e-4d00-4c6b-8238-e4a515a65410","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397605.7632272} authorization_1 | {"level":"info","message":"POST /relations/update 200 156ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"698af2044f1f24b80b826c50beabf3c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":156}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} gateway_1 | {"time_local":"08/Feb/2024:13:06:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.564","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"698af2044f1f24b80b826c50beabf3c6"} gateway_1 | {"time_local":"08/Feb/2024:13:06:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1490","request_time":"46.186","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"f9e81fc80c6da1f6b216ef3d15060841"} experiment_1 | {"level":"info","message":"DELETE /experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e 204 1561ms","method":"DELETE","requestID":"698af2044f1f24b80b826c50beabf3c6","responseTime":1561,"status":204,"url":"/experiments/8c4c4f40-2962-4973-9e3d-af665ca9857e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1524ms","method":"POST","requestID":"57429b1c0e7dcea8e7182b8b8af06abb","responseTime":1524,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:06: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":"1.528","http_referrer":"","http_user_agent":"node-fetch","requestID":"57429b1c0e7dcea8e7182b8b8af06abb"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1524ms","method":"POST","requestID":"69f06d00ca6b01128f34fb34b621aae7","responseTime":1524,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:06: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":"1.529","http_referrer":"","http_user_agent":"node-fetch","requestID":"69f06d00ca6b01128f34fb34b621aae7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwNn0.pNr4K6qwuSzVUH9LOsWO1Pxr1hUQqk2PwGI4T8oUd4s","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8b2d3254063e72371e010bd628f715f4","responseTime":5,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:06:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1518","request_time":"44.909","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4930d545a6a9aa82092b54d8fd4f2ad9"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:46Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.962717,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:46Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397606,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwNn0.pNr4K6qwuSzVUH9LOsWO1Pxr1hUQqk2PwGI4T8oUd4s"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b2d3254063e72371e010bd628f715f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc11e3b29-8ca2-4af4-97b0-0f87a2ef7817","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7ccbcfb7-ec10-4199-8da9-3650d822b9b9","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397606.964089} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b2d3254063e72371e010bd628f715f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c906227f-5faf-46b8-aafb-d28596d5dca3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397606.9716554} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b2d3254063e72371e010bd628f715f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d' closed"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc11e3b29-8ca2-4af4-97b0-0f87a2ef7817","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"197d4a0d-4311-4682-9646-a25139cf1b2f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397607.1857345} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"733e82b4-2586-4983-a7e6-9354b66708fa","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397607.1860962} authorization_1 | {"level":"info","message":"POST /relations/update 200 218ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b2d3254063e72371e010bd628f715f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":218}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc11e3b29-8ca2-4af4-97b0-0f87a2ef7817","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc11e3b29-8ca2-4af4-97b0-0f87a2ef7817","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:47.185709697Z"}]},"request_id":"35d1f4fc-30f5-43ff-a582-2cc1a14946e8","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397607.1945705} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b2d3254063e72371e010bd628f715f4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 520ms","method":"POST","requestID":"8b2d3254063e72371e010bd628f715f4","responseTime":520,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.530","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8b2d3254063e72371e010bd628f715f4"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwN30.FLKwCyjOaVH40v5LaPOKtZQ6BpNBG1iYfiOMV24e6qY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5c05cecaefa3aab509915aeeb3bf28b0","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:47Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.017427,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:47Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397607,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwN30.FLKwCyjOaVH40v5LaPOKtZQ6BpNBG1iYfiOMV24e6qY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c05cecaefa3aab509915aeeb3bf28b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7634cb98-e6ff-4533-9bd8-3081e1a235a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6264a182-619b-4969-b2f3-1ab19a28c35d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397607.362242} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c05cecaefa3aab509915aeeb3bf28b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1be8a6dd-81a9-45cc-a267-982fa4d73172","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397607.3724213} authorization_1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c05cecaefa3aab509915aeeb3bf28b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7634cb98-e6ff-4533-9bd8-3081e1a235a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"adc9a5ac-7f13-40d7-a3f4-132481a9fd75","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397607.5367491} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2d0ff68-3cb8-4848-bc7c-c8d3f121bd7f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397607.5369663} authorization_1 | {"level":"info","message":"POST /relations/update 200 168ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c05cecaefa3aab509915aeeb3bf28b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":168}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7634cb98-e6ff-4533-9bd8-3081e1a235a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7634cb98-e6ff-4533-9bd8-3081e1a235a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:47.536727296Z"}]},"request_id":"64494710-39d8-4a69-974f-d4317c8e9b32","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397607.544695} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5c05cecaefa3aab509915aeeb3bf28b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 342ms","method":"POST","requestID":"5c05cecaefa3aab509915aeeb3bf28b0","responseTime":342,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.375","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5c05cecaefa3aab509915aeeb3bf28b0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwN30.FLKwCyjOaVH40v5LaPOKtZQ6BpNBG1iYfiOMV24e6qY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f53fd13f24b5b2cd78b0d62dd41b25e8","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:48Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.773477,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:48Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397607,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwN30.FLKwCyjOaVH40v5LaPOKtZQ6BpNBG1iYfiOMV24e6qY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f53fd13f24b5b2cd78b0d62dd41b25e8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwOH0.h2hXfdv3q-9S8Ia4DOBSYSCFtMfOFqqQWdklQlrPxjY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7ad3066c5ddd29c49f4620aa75a27fdb","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:48Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.903046,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:48Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397608,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwOH0.h2hXfdv3q-9S8Ia4DOBSYSCFtMfOFqqQWdklQlrPxjY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ad3066c5ddd29c49f4620aa75a27fdb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc11e3b29-8ca2-4af4-97b0-0f87a2ef7817","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc11e3b29-8ca2-4af4-97b0-0f87a2ef7817","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:47.185709697Z"}]},"request_id":"42c9b019-c16f-43d2-aa55-947826587ec4","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397608.0180235} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f53fd13f24b5b2cd78b0d62dd41b25e8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7634cb98-e6ff-4533-9bd8-3081e1a235a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7634cb98-e6ff-4533-9bd8-3081e1a235a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:47.536727296Z"}]},"request_id":"c7446458-acf0-4a71-b00d-d967edc3c3a3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397608.0208488} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ad3066c5ddd29c49f4620aa75a27fdb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1be266f9-efc4-42e5-bd40-e51fa1a43f0b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397608.0231965} authorization_1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f53fd13f24b5b2cd78b0d62dd41b25e8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33c8bfe3-fa97-4792-8d04-7a5333964f15","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397608.0276134} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ad3066c5ddd29c49f4620aa75a27fdb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc11e3b29-8ca2-4af4-97b0-0f87a2ef7817","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc11e3b29-8ca2-4af4-97b0-0f87a2ef7817","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:47.185709697Z"}]},"request_id":"b2fb189c-af5d-4cfd-83a4-b186b4f9362e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397608.1981757} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f53fd13f24b5b2cd78b0d62dd41b25e8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.205","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"f53fd13f24b5b2cd78b0d62dd41b25e8"} device_1 | {"level":"info","message":"PATCH /devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817 200 201ms","method":"PATCH","requestID":"f53fd13f24b5b2cd78b0d62dd41b25e8","responseTime":201,"status":200,"url":"/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwOH0.h2hXfdv3q-9S8Ia4DOBSYSCFtMfOFqqQWdklQlrPxjY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ef26006d7a1143249c5266f9397440b6","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:48Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.05817,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:48Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397608,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwOH0.h2hXfdv3q-9S8Ia4DOBSYSCFtMfOFqqQWdklQlrPxjY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef26006d7a1143249c5266f9397440b6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7634cb98-e6ff-4533-9bd8-3081e1a235a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7634cb98-e6ff-4533-9bd8-3081e1a235a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:47.536727296Z"}]},"request_id":"f51e41eb-1000-45fa-8e6e-2fbe403c3041","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397608.365791} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7ad3066c5ddd29c49f4620aa75a27fdb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.366","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"7ad3066c5ddd29c49f4620aa75a27fdb"} device_1 | {"level":"info","message":"PATCH /devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1 200 361ms","method":"PATCH","requestID":"7ad3066c5ddd29c49f4620aa75a27fdb","responseTime":361,"status":200,"url":"/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwOH0.h2hXfdv3q-9S8Ia4DOBSYSCFtMfOFqqQWdklQlrPxjY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d26052abc43f0bdf1b8f2a2807d99a2f","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:48Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.226273,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:48Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397608,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwOH0.h2hXfdv3q-9S8Ia4DOBSYSCFtMfOFqqQWdklQlrPxjY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d26052abc43f0bdf1b8f2a2807d99a2f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.334","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"ef26006d7a1143249c5266f9397440b6"} device_1 | {"level":"info","message":"POST /devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817/websocket 200 328ms","method":"POST","requestID":"ef26006d7a1143249c5266f9397440b6","responseTime":328,"status":200,"url":"/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:06:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.325","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"d26052abc43f0bdf1b8f2a2807d99a2f"} device_1 | {"level":"info","message":"POST /devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1/websocket 200 319ms","method":"POST","requestID":"d26052abc43f0bdf1b8f2a2807d99a2f","responseTime":319,"status":200,"url":"/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwOX0.BUz_6oCKOMc3pqB9Euvr7Qf-2ghp-Da3KpxTcnTxgLg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a08b1cc1f67da0b52dfa7ae368d31393","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:49Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.283575,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397609,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwOX0.BUz_6oCKOMc3pqB9Euvr7Qf-2ghp-Da3KpxTcnTxgLg"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a08b1cc1f67da0b52dfa7ae368d31393"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc11e3b29-8ca2-4af4-97b0-0f87a2ef7817","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc11e3b29-8ca2-4af4-97b0-0f87a2ef7817","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:47.185709697Z"}]},"request_id":"7b688a48-e273-4a80-85f5-9397d3b9df05","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397609.0276194} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a08b1cc1f67da0b52dfa7ae368d31393"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:06:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a08b1cc1f67da0b52dfa7ae368d31393"} device_1 | {"level":"info","message":"GET /devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817? 200 20ms","method":"GET","requestID":"a08b1cc1f67da0b52dfa7ae368d31393","responseTime":20,"status":200,"url":"/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwOX0.BUz_6oCKOMc3pqB9Euvr7Qf-2ghp-Da3KpxTcnTxgLg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c113b23035c8089579b2d76361bd85b5","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:49Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.046329,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397609,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwOX0.BUz_6oCKOMc3pqB9Euvr7Qf-2ghp-Da3KpxTcnTxgLg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c113b23035c8089579b2d76361bd85b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7634cb98-e6ff-4533-9bd8-3081e1a235a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7634cb98-e6ff-4533-9bd8-3081e1a235a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:47.536727296Z"}]},"request_id":"061dd401-623a-42f5-a79b-70dcd87022d3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397609.0571358} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c113b23035c8089579b2d76361bd85b5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:06:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c113b23035c8089579b2d76361bd85b5"} device_1 | {"level":"info","message":"GET /devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1? 200 20ms","method":"GET","requestID":"c113b23035c8089579b2d76361bd85b5","responseTime":20,"status":200,"url":"/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwOX0.BUz_6oCKOMc3pqB9Euvr7Qf-2ghp-Da3KpxTcnTxgLg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d73e303e3a3d47d15d18255723dc3bad","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:49Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.850146,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:49Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397609,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwOX0.BUz_6oCKOMc3pqB9Euvr7Qf-2ghp-Da3KpxTcnTxgLg"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d73e303e3a3d47d15d18255723dc3bad"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:49Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.089997,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397609,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwOX0.BUz_6oCKOMc3pqB9Euvr7Qf-2ghp-Da3KpxTcnTxgLg"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb81bb20-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:43184","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:49Z"} authorization_1 | {"client_addr":"127.0.0.1:43184","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.989898,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397609,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwOX0.BUz_6oCKOMc3pqB9Euvr7Qf-2ghp-Da3KpxTcnTxgLg"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb820940-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc11e3b29-8ca2-4af4-97b0-0f87a2ef7817","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc11e3b29-8ca2-4af4-97b0-0f87a2ef7817","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:47.185709697Z"}]},"request_id":"457609b3-88b6-4001-90ad-cf6735b6c529","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397609.4390574} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb81bb20-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7634cb98-e6ff-4533-9bd8-3081e1a235a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7634cb98-e6ff-4533-9bd8-3081e1a235a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:47.536727296Z"}]},"request_id":"57ed3248-3a29-4860-9a31-e7168e3289af","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397609.4446616} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb820940-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"GET /devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817? 200 20ms","method":"GET","requestID":"eb81bb20-c682-11ee-9765-47e7fd15fc3d","responseTime":20,"status":200,"url":"/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1? 200 22ms","method":"GET","requestID":"eb820940-c682-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:50Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.237634,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:50Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:43184","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397609,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwOX0.BUz_6oCKOMc3pqB9Euvr7Qf-2ghp-Da3KpxTcnTxgLg"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebe20390-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:43184","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.212301,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397609,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwOX0.BUz_6oCKOMc3pqB9Euvr7Qf-2ghp-Da3KpxTcnTxgLg"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebe251b0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc11e3b29-8ca2-4af4-97b0-0f87a2ef7817","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc11e3b29-8ca2-4af4-97b0-0f87a2ef7817","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:47.185709697Z"}]},"request_id":"b8b73bcd-29d5-46f3-b941-1cced3b98ed3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397610.0718913} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7634cb98-e6ff-4533-9bd8-3081e1a235a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7634cb98-e6ff-4533-9bd8-3081e1a235a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:47.536727296Z"}]},"request_id":"404b284e-048d-4abd-9c7e-254fae6216ea","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397610.0728383} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebe20390-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebe251b0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817? 200 23ms","method":"GET","requestID":"ebe20390-c682-11ee-9765-47e7fd15fc3d","responseTime":23,"status":200,"url":"/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1? 200 22ms","method":"GET","requestID":"ebe251b0-c682-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:50Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.918539,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:50Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebe62240-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817/signaling 200 9ms","method":"POST","requestID":"ebe62240-c682-11ee-9765-47e7fd15fc3d","responseTime":9,"status":200,"url":"/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:50Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.073425,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:50Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebe7f700-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1/signaling 200 10ms","method":"POST","requestID":"ebe7f700-c682-11ee-9765-47e7fd15fc3d","responseTime":10,"status":200,"url":"/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"c7e67427-3706-4178-ad85-5dcde3fb8ebc"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"ee37e933-e805-45a6-a2f4-5c2c63e52173"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c8f16df8-19ac-4654-abe9-29e600c699b4"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:50Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.998221,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:50Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397609,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYwOX0.BUz_6oCKOMc3pqB9Euvr7Qf-2ghp-Da3KpxTcnTxgLg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebea19e0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4254ff54-48c9-4648-a03a-df6046c3e7f2#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4254ff54-48c9-4648-a03a-df6046c3e7f2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"75b1284c-8458-4c98-b302-02bce3c621e0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397610.2651942} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96a1396e-0d2a-4721-98bd-7c6989352a57","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397610.265874} authorization_1 | {"level":"info","message":"POST /relations/update 200 201ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d73e303e3a3d47d15d18255723dc3bad"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":201}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"33e1bad9-64e7-41fc-b434-52377ee3ba02","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397610.2681127} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4745928c-2641-4688-9d53-2247c3b28db0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397610.2686782} authorization_1 | {"level":"info","message":"POST /relations/update 200 148ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebea19e0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":148}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1206ms","method":"POST","requestID":"d73e303e3a3d47d15d18255723dc3bad","responseTime":1206,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"1.214","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d73e303e3a3d47d15d18255723dc3bad"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMH0.inqRdhuH4lYhdTDWEohl_PD1ec3imAeCR1UYAlfFUS0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"421b03a1abd830dc8ca6aaa3dbdf4d63","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:50Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.667178,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397610,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMH0.inqRdhuH4lYhdTDWEohl_PD1ec3imAeCR1UYAlfFUS0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"421b03a1abd830dc8ca6aaa3dbdf4d63"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc11e3b29-8ca2-4af4-97b0-0f87a2ef7817","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc11e3b29-8ca2-4af4-97b0-0f87a2ef7817","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:47.185709697Z"}]},"request_id":"b096d8a7-f27f-470c-bf41-1b772acdc9fc","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397610.2951262} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"421b03a1abd830dc8ca6aaa3dbdf4d63"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/d4167927-6368-444a-be39-e96887d89672'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d4167927-6368-444a-be39-e96887d89672'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 382ms","method":"POST","requestID":"ebea19e0-c682-11ee-9765-47e7fd15fc3d","responseTime":382,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:06:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.214","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"421b03a1abd830dc8ca6aaa3dbdf4d63"} device_1 | {"level":"info","message":"GET /devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817? 200 208ms","method":"GET","requestID":"421b03a1abd830dc8ca6aaa3dbdf4d63","responseTime":208,"status":200,"url":"/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMH0.inqRdhuH4lYhdTDWEohl_PD1ec3imAeCR1UYAlfFUS0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"396f212505d6cd77f8e3cdae5449dcd2","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:50Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.058269,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397610,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMH0.inqRdhuH4lYhdTDWEohl_PD1ec3imAeCR1UYAlfFUS0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"396f212505d6cd77f8e3cdae5449dcd2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7634cb98-e6ff-4533-9bd8-3081e1a235a1","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7634cb98-e6ff-4533-9bd8-3081e1a235a1","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:47.536727296Z"}]},"request_id":"5c20174c-d153-4500-9891-0b23e9d6167f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397610.5156143} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"396f212505d6cd77f8e3cdae5449dcd2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:06:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"396f212505d6cd77f8e3cdae5449dcd2"} device_1 | {"level":"info","message":"GET /devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1? 200 15ms","method":"GET","requestID":"396f212505d6cd77f8e3cdae5449dcd2","responseTime":15,"status":200,"url":"/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1?"} device_1 | {"data":{"peerconnection":"d4167927-6368-444a-be39-e96887d89672","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"d4167927-6368-444a-be39-e96887d89672","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d4167927-6368-444a-be39-e96887d89672' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"d4167927-6368-444a-be39-e96887d89672","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"377e687122d7d3ddef06ef9b7f32ab6a","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/7634cb98-e6ff-4533-9bd8-3081e1a235a1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d4167927-6368-444a-be39-e96887d89672"}}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMH0.inqRdhuH4lYhdTDWEohl_PD1ec3imAeCR1UYAlfFUS0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c77c1210b97c4007e7b1f9c56e8e6a20","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:50Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.439982,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397610,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMH0.inqRdhuH4lYhdTDWEohl_PD1ec3imAeCR1UYAlfFUS0"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c77c1210b97c4007e7b1f9c56e8e6a20"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 212ms","method":"POST","requestID":"377e687122d7d3ddef06ef9b7f32ab6a","responseTime":212,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:06: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.215","http_referrer":"","http_user_agent":"node-fetch","requestID":"377e687122d7d3ddef06ef9b7f32ab6a"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} gateway_1 | {"time_local":"08/Feb/2024:13:06:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2 HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c77c1210b97c4007e7b1f9c56e8e6a20"} experiment_1 | {"level":"info","message":"GET /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2 200 77ms","method":"GET","requestID":"c77c1210b97c4007e7b1f9c56e8e6a20","responseTime":77,"status":200,"url":"/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} device_1 | {"data":{"peerconnection":"d4167927-6368-444a-be39-e96887d89672","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMH0.inqRdhuH4lYhdTDWEohl_PD1ec3imAeCR1UYAlfFUS0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"df3397b68a3adb14ade9f2240a03b679","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:50Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.30574,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397610,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMH0.inqRdhuH4lYhdTDWEohl_PD1ec3imAeCR1UYAlfFUS0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"df3397b68a3adb14ade9f2240a03b679"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} gateway_1 | {"time_local":"08/Feb/2024:13:06:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2 HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"df3397b68a3adb14ade9f2240a03b679"} experiment_1 | {"level":"info","message":"GET /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2 200 129ms","method":"GET","requestID":"df3397b68a3adb14ade9f2240a03b679","responseTime":129,"status":200,"url":"/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} device_1 | {"data":{"peerconnection":"d4167927-6368-444a-be39-e96887d89672","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMX0.vaKO7Q5V5q2RxWmUXmEJCkPZXta07PLD52lo1182-C4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"22cc2fdb0b2e0141e71b24075a1f7644","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:51Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.319656,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397611,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMX0.vaKO7Q5V5q2RxWmUXmEJCkPZXta07PLD52lo1182-C4"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22cc2fdb0b2e0141e71b24075a1f7644"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} experiment_1 | {"level":"info","message":"GET /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2 200 20ms","method":"GET","requestID":"22cc2fdb0b2e0141e71b24075a1f7644","responseTime":20,"status":200,"url":"/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} gateway_1 | {"time_local":"08/Feb/2024:13:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2 HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22cc2fdb0b2e0141e71b24075a1f7644"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMX0.vaKO7Q5V5q2RxWmUXmEJCkPZXta07PLD52lo1182-C4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"352f52d9a6f459bf729faac4b3b70a40","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:51Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.427831,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397611,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMX0.vaKO7Q5V5q2RxWmUXmEJCkPZXta07PLD52lo1182-C4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"352f52d9a6f459bf729faac4b3b70a40"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} gateway_1 | {"time_local":"08/Feb/2024:13:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2 HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"352f52d9a6f459bf729faac4b3b70a40"} experiment_1 | {"level":"info","message":"GET /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2 200 16ms","method":"GET","requestID":"352f52d9a6f459bf729faac4b3b70a40","responseTime":16,"status":200,"url":"/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d4167927-6368-444a-be39-e96887d89672' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"d4167927-6368-444a-be39-e96887d89672","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9a6e9f27e0029f3ff2ad2337c54dd233","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/7634cb98-e6ff-4533-9bd8-3081e1a235a1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d4167927-6368-444a-be39-e96887d89672"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:51Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd4167927-6368-444a-be39-e96887d89672","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab177dae-3e5e-48ac-8b03-716847f20ed6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397611.3557045} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.282361,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d4167927-6368-444a-be39-e96887d89672","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d4167927-6368-444a-be39-e96887d89672","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMX0.vaKO7Q5V5q2RxWmUXmEJCkPZXta07PLD52lo1182-C4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"751e7b297edadceb620966b8e542bb7c","responseTime":5,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eca72850-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:51Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.0094,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397611,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMX0.vaKO7Q5V5q2RxWmUXmEJCkPZXta07PLD52lo1182-C4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"751e7b297edadceb620966b8e542bb7c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} experiment_1 | {"level":"info","message":"GET /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2 200 12ms","method":"GET","requestID":"751e7b297edadceb620966b8e542bb7c","responseTime":12,"status":200,"url":"/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} gateway_1 | {"time_local":"08/Feb/2024:13:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2 HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"751e7b297edadceb620966b8e542bb7c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMX0.vaKO7Q5V5q2RxWmUXmEJCkPZXta07PLD52lo1182-C4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"561440ba5253037a3eb524100b483c27","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:51Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.231019,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397611,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMX0.vaKO7Q5V5q2RxWmUXmEJCkPZXta07PLD52lo1182-C4"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"561440ba5253037a3eb524100b483c27"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} gateway_1 | {"time_local":"08/Feb/2024:13:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2 HTTP/1.1","status": "200","body_bytes_sent":"886","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"561440ba5253037a3eb524100b483c27"} experiment_1 | {"level":"info","message":"GET /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2 200 17ms","method":"GET","requestID":"561440ba5253037a3eb524100b483c27","responseTime":17,"status":200,"url":"/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/d4167927-6368-444a-be39-e96887d89672 200 152ms","method":"GET","requestID":"eca72850-c682-11ee-9765-47e7fd15fc3d","responseTime":152,"status":200,"url":"/peerconnections/d4167927-6368-444a-be39-e96887d89672"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMX0.vaKO7Q5V5q2RxWmUXmEJCkPZXta07PLD52lo1182-C4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8c3c2ea5e53fec06d4c934e59c80aa90","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:51Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.486953,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397611,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMX0.vaKO7Q5V5q2RxWmUXmEJCkPZXta07PLD52lo1182-C4"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c3c2ea5e53fec06d4c934e59c80aa90"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 311ms","method":"POST","requestID":"9a6e9f27e0029f3ff2ad2337c54dd233","responseTime":311,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:06: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.315","http_referrer":"","http_user_agent":"node-fetch","requestID":"9a6e9f27e0029f3ff2ad2337c54dd233"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} gateway_1 | {"time_local":"08/Feb/2024:13:06:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2 HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.058","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8c3c2ea5e53fec06d4c934e59c80aa90"} experiment_1 | {"level":"info","message":"GET /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2 200 52ms","method":"GET","requestID":"8c3c2ea5e53fec06d4c934e59c80aa90","responseTime":52,"status":200,"url":"/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMX0.vaKO7Q5V5q2RxWmUXmEJCkPZXta07PLD52lo1182-C4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c345025b76337c3a60d2300c44291815","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:51Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.203211,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:51Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397611,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMX0.vaKO7Q5V5q2RxWmUXmEJCkPZXta07PLD52lo1182-C4"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c345025b76337c3a60d2300c44291815"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:51Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.137787,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:51Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d4167927-6368-444a-be39-e96887d89672","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/d4167927-6368-444a-be39-e96887d89672","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397611,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxMX0.vaKO7Q5V5q2RxWmUXmEJCkPZXta07PLD52lo1182-C4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ecda4640-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d4167927-6368-444a-be39-e96887d89672' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d4167927-6368-444a-be39-e96887d89672' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"d4167927-6368-444a-be39-e96887d89672","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f54b1da0a824d26251d51717d5d9d4e7","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd4167927-6368-444a-be39-e96887d89672': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd4167927-6368-444a-be39-e96887d89672","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"8430e54c-e52e-431a-82fd-ca52ab3b9bbb","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397611.7090209} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"277d9a64-31f2-4329-a577-74abeb5e4328","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397611.7091906} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/7634cb98-e6ff-4533-9bd8-3081e1a235a1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d4167927-6368-444a-be39-e96887d89672"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"76ad7d370fc426c88881739ddadc32fc","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/7634cb98-e6ff-4533-9bd8-3081e1a235a1"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d4167927-6368-444a-be39-e96887d89672"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ecda4640-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"data":{"peerconnection":"d4167927-6368-444a-be39-e96887d89672","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/d4167927-6368-444a-be39-e96887d89672 204 334ms","method":"DELETE","requestID":"ecda4640-c682-11ee-9765-47e7fd15fc3d","responseTime":334,"status":204,"url":"/peerconnections/d4167927-6368-444a-be39-e96887d89672"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4254ff54-48c9-4648-a03a-df6046c3e7f2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4254ff54-48c9-4648-a03a-df6046c3e7f2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"ece06550-5f1c-4516-86aa-119d467c64ae","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397612.3637156} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c0532dd-0c55-4201-93e3-09aa78abfc22","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397612.3643055} authorization_1 | {"level":"info","message":"POST /relations/update 200 169ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c345025b76337c3a60d2300c44291815"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":169}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} gateway_1 | {"time_local":"08/Feb/2024:13:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.647","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c345025b76337c3a60d2300c44291815"} gateway_1 | {"time_local":"08/Feb/2024:13:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1521","request_time":"4.610","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"cff8cb5f4dfd3e612ba545b4c291bab5"} gateway_1 | {"time_local":"08/Feb/2024:13:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1521","request_time":"4.769","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"c52c5cccdd09266468cc8d9b401e79d4"} experiment_1 | {"level":"info","message":"DELETE /experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2 204 1643ms","method":"DELETE","requestID":"c345025b76337c3a60d2300c44291815","responseTime":1643,"status":204,"url":"/experiments/4254ff54-48c9-4648-a03a-df6046c3e7f2"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1609ms","method":"POST","requestID":"f54b1da0a824d26251d51717d5d9d4e7","responseTime":1609,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.612","http_referrer":"","http_user_agent":"node-fetch","requestID":"f54b1da0a824d26251d51717d5d9d4e7"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1608ms","method":"POST","requestID":"76ad7d370fc426c88881739ddadc32fc","responseTime":1608,"status":200,"url":"/callbacks/experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxM30.wOdnuqcH4wZghdquallcTQmACaWeQxhF7Q2rd4BO3aE","level":"info","message":"auth send jwt"} gateway_1 | {"time_local":"08/Feb/2024:13:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.612","http_referrer":"","http_user_agent":"node-fetch","requestID":"76ad7d370fc426c88881739ddadc32fc"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e488681925ea75a7721583daaf4f7bb8","responseTime":5,"status":200,"url":"/auth"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817' closed"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:53Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.907563,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:53Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397613,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxM30.wOdnuqcH4wZghdquallcTQmACaWeQxhF7Q2rd4BO3aE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e488681925ea75a7721583daaf4f7bb8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5614a3d4-f24c-4084-a0b5-b0137fb8bcda","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"35605de3-1bbc-4329-85c3-5bd547a24224","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397613.6660411} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e488681925ea75a7721583daaf4f7bb8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"55e7b826-a74f-4f4d-b0e7-3eec9bce0401","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397613.6739898} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e488681925ea75a7721583daaf4f7bb8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5614a3d4-f24c-4084-a0b5-b0137fb8bcda","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"e3a972e4-94e6-4fd6-9656-d949b61c3761","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397613.8631294} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf3324cf-ddbc-43ca-a57f-111e197c40aa","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397613.8634825} authorization_1 | {"level":"info","message":"POST /relations/update 200 192ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e488681925ea75a7721583daaf4f7bb8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":192}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5614a3d4-f24c-4084-a0b5-b0137fb8bcda","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5614a3d4-f24c-4084-a0b5-b0137fb8bcda","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:53.863099452Z"}]},"request_id":"27a620e5-6d01-42bd-b8f0-5959fdd5f1f8","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397613.8713887} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e488681925ea75a7721583daaf4f7bb8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 550ms","method":"POST","requestID":"e488681925ea75a7721583daaf4f7bb8","responseTime":550,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.562","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e488681925ea75a7721583daaf4f7bb8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxM30.wOdnuqcH4wZghdquallcTQmACaWeQxhF7Q2rd4BO3aE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"121a4a5498dfa15c9c87652dae23372c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:53Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.101858,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:53Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397613,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxM30.wOdnuqcH4wZghdquallcTQmACaWeQxhF7Q2rd4BO3aE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"121a4a5498dfa15c9c87652dae23372c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33c81a61-4eba-4521-b722-65d3e0c3e025","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"25118b18-7a74-4f02-90af-eb07a82ed5a5","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397614.0479689} authorization_1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"121a4a5498dfa15c9c87652dae23372c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"feed6e4b-37a6-4b5b-98e8-5fbf64d950a9","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397614.0581057} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"121a4a5498dfa15c9c87652dae23372c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33c81a61-4eba-4521-b722-65d3e0c3e025","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"70f119c4-9d76-49b7-993a-e8ae39780301","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397614.2311707} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ede5a167-e8eb-4515-b713-03be58064e9f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397614.231392} authorization_1 | {"level":"info","message":"POST /relations/update 200 177ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"121a4a5498dfa15c9c87652dae23372c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":177}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33c81a61-4eba-4521-b722-65d3e0c3e025","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F33c81a61-4eba-4521-b722-65d3e0c3e025","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:54.231147541Z"}]},"request_id":"ae2a2e52-e34d-4c16-ab8f-8269448dc3bd","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397614.2395995} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"121a4a5498dfa15c9c87652dae23372c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 360ms","method":"POST","requestID":"121a4a5498dfa15c9c87652dae23372c","responseTime":360,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.368","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"121a4a5498dfa15c9c87652dae23372c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxNH0.SmGOwe610xzM5oAu3pG3hNodUFDClzSD_qMXkXZnOR8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e3ab9001884c8ac6d03a45af67ac947c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:54Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.032712,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:54Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397614,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxNH0.SmGOwe610xzM5oAu3pG3hNodUFDClzSD_qMXkXZnOR8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3ab9001884c8ac6d03a45af67ac947c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d84bedf-2169-40f9-9ff2-7d2ee81b6cd7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8303bc41-aa5c-49b5-b36a-1b8cefb09e37","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397614.4159343} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3ab9001884c8ac6d03a45af67ac947c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"732f0a23-1f2b-4cef-b556-a92a676d7788","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397614.4234898} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3ab9001884c8ac6d03a45af67ac947c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d84bedf-2169-40f9-9ff2-7d2ee81b6cd7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"0cad28d4-bebe-46e2-b26e-0676c4855ac6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397614.5908937} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ef201b73-b16a-43a1-b753-03100359d2d7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397614.5910115} authorization_1 | {"level":"info","message":"POST /relations/update 200 171ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3ab9001884c8ac6d03a45af67ac947c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":171}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d84bedf-2169-40f9-9ff2-7d2ee81b6cd7","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6d84bedf-2169-40f9-9ff2-7d2ee81b6cd7","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:54.590874274Z"}]},"request_id":"4a8e593e-54bc-4355-bc32-d40f5341a2d5","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397614.5993016} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e3ab9001884c8ac6d03a45af67ac947c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 352ms","method":"POST","requestID":"e3ab9001884c8ac6d03a45af67ac947c","responseTime":352,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.359","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e3ab9001884c8ac6d03a45af67ac947c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxNH0.SmGOwe610xzM5oAu3pG3hNodUFDClzSD_qMXkXZnOR8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a647387b04acb48c261da2873fc3cbd5","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:54Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.024757,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:54Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397614,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxNH0.SmGOwe610xzM5oAu3pG3hNodUFDClzSD_qMXkXZnOR8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a647387b04acb48c261da2873fc3cbd5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce4029a6-4730-407f-8b67-f4d39c8febee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6eda366e-ded7-45a1-8f98-b35dc1b69c31","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397614.7691576} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a647387b04acb48c261da2873fc3cbd5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cfc1cd70-f589-4b97-b99b-336544deb949","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397614.7784379} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a647387b04acb48c261da2873fc3cbd5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce4029a6-4730-407f-8b67-f4d39c8febee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"01fa5f2f-cd19-40f7-a315-8abe3819164d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397614.9268668} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"695ce6d3-57e5-4219-9f4e-f585ff46220d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397614.9270718} authorization_1 | {"level":"info","message":"POST /relations/update 200 152ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a647387b04acb48c261da2873fc3cbd5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":152}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce4029a6-4730-407f-8b67-f4d39c8febee","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fce4029a6-4730-407f-8b67-f4d39c8febee","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:54.926845181Z"}]},"request_id":"de9bcbc6-a85a-4883-be4c-f309ae6f891d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397614.9339383} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a647387b04acb48c261da2873fc3cbd5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 326ms","method":"POST","requestID":"a647387b04acb48c261da2873fc3cbd5","responseTime":326,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.335","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a647387b04acb48c261da2873fc3cbd5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxNH0.SmGOwe610xzM5oAu3pG3hNodUFDClzSD_qMXkXZnOR8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f0da4efab1e628ec1f25a0a7fb91cd80","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:54Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.833588,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:54Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397614,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxNH0.SmGOwe610xzM5oAu3pG3hNodUFDClzSD_qMXkXZnOR8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0da4efab1e628ec1f25a0a7fb91cd80"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03fc0c30-2d63-4835-ac28-a8a3a5365792","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b63e8b58-a69f-4838-b774-d1b57bb43abe","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397615.1216812} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0da4efab1e628ec1f25a0a7fb91cd80"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ba449b09-a1cd-4718-acb6-7930bc966d8c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397615.1302607} authorization_1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0da4efab1e628ec1f25a0a7fb91cd80"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03fc0c30-2d63-4835-ac28-a8a3a5365792","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"b856bf79-78cd-41b1-885a-b37a9c0d7ee2","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397615.295344} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e96907d0-9cfd-4f8a-98b7-42579deefa0a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397615.2956123} authorization_1 | {"level":"info","message":"POST /relations/update 200 169ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0da4efab1e628ec1f25a0a7fb91cd80"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":169}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03fc0c30-2d63-4835-ac28-a8a3a5365792","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F03fc0c30-2d63-4835-ac28-a8a3a5365792","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:55.295323532Z"}]},"request_id":"e9d4d467-e35b-4e25-a01a-4a570e60f535","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397615.302936} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0da4efab1e628ec1f25a0a7fb91cd80"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 362ms","method":"POST","requestID":"f0da4efab1e628ec1f25a0a7fb91cd80","responseTime":362,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.369","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f0da4efab1e628ec1f25a0a7fb91cd80"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxNX0.sCEQjp8paT8QRMNne_8iRPZq6bl0A-LYOkv6s4lgB9E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6d6f8677bf200234514624ccb6a599a2","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:55Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.16398,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:55Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397615,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxNX0.sCEQjp8paT8QRMNne_8iRPZq6bl0A-LYOkv6s4lgB9E"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d6f8677bf200234514624ccb6a599a2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b72b17a-910d-43ff-8e20-a528d4b56332","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"cef60790-b4fd-4104-a9b8-e8b169aa75c8","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397615.4803507} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d6f8677bf200234514624ccb6a599a2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"462183bb-adc5-4a59-9dd1-96c1a38cbbf0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397615.4881835} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d6f8677bf200234514624ccb6a599a2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b72b17a-910d-43ff-8e20-a528d4b56332","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"758c3cd6-095f-4c44-8cd9-3cc1ff806c90","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397615.646808} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ebffc14-466b-405f-b5cd-59cdc7c64103","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397615.6470702} authorization_1 | {"level":"info","message":"POST /relations/update 200 164ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d6f8677bf200234514624ccb6a599a2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":164}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b72b17a-910d-43ff-8e20-a528d4b56332","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5b72b17a-910d-43ff-8e20-a528d4b56332","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:55.646783297Z"}]},"request_id":"32db028e-6799-42e0-8c79-df5c2739aa16","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397615.6562521} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6d6f8677bf200234514624ccb6a599a2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 342ms","method":"POST","requestID":"6d6f8677bf200234514624ccb6a599a2","responseTime":342,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.351","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6d6f8677bf200234514624ccb6a599a2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxNX0.sCEQjp8paT8QRMNne_8iRPZq6bl0A-LYOkv6s4lgB9E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"3fc0c9d6f8a911ea837297c3e63a15ac","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:55Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.086319,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:55Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397615,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxNX0.sCEQjp8paT8QRMNne_8iRPZq6bl0A-LYOkv6s4lgB9E"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3fc0c9d6f8a911ea837297c3e63a15ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb36d3aad-98be-4ad2-9b67-5f76b23d5f42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8d794358-5573-43a7-9fb5-73943a499ebb","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397615.8736622} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3fc0c9d6f8a911ea837297c3e63a15ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22b45f11-f02e-484f-955a-3dfc87c7924d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397615.8816273} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3fc0c9d6f8a911ea837297c3e63a15ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb36d3aad-98be-4ad2-9b67-5f76b23d5f42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"105f5f1e-5f87-433b-9d4f-faba823da0e0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397616.1069152} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f86af5af-2d51-489a-b432-f7164c75951c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397616.107113} authorization_1 | {"level":"info","message":"POST /relations/update 200 229ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3fc0c9d6f8a911ea837297c3e63a15ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":229}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb36d3aad-98be-4ad2-9b67-5f76b23d5f42","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb36d3aad-98be-4ad2-9b67-5f76b23d5f42","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:56.106894222Z"}]},"request_id":"57f9116c-7c42-44b8-bc57-44e014874558","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397616.1148837} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3fc0c9d6f8a911ea837297c3e63a15ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 450ms","method":"POST","requestID":"3fc0c9d6f8a911ea837297c3e63a15ac","responseTime":450,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.459","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3fc0c9d6f8a911ea837297c3e63a15ac"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxNn0.6zzNHdxXIJye8dB6xDD1xE0gKoie8ScjK1J_dEcUjUU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a720bd23fac2b397e5e8d336f54ea329","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:56Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.950443,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:56Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397616,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxNn0.6zzNHdxXIJye8dB6xDD1xE0gKoie8ScjK1J_dEcUjUU"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a720bd23fac2b397e5e8d336f54ea329"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0396ae6b-0f45-4328-8484-026718b7938f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"953247fd-028f-4708-9dda-7d1a3c23befa","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397616.3169239} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a720bd23fac2b397e5e8d336f54ea329"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa1e22e9-02af-4bc0-9f72-9751706e9663","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397616.3249066} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a720bd23fac2b397e5e8d336f54ea329"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0396ae6b-0f45-4328-8484-026718b7938f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"e6756652-3261-4f5b-843a-37479b0f7915","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397616.4936352} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ec81d9b-e169-406b-a1a1-218ab45a1b8c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397616.4942229} authorization_1 | {"level":"info","message":"POST /relations/update 200 172ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a720bd23fac2b397e5e8d336f54ea329"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":172}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0396ae6b-0f45-4328-8484-026718b7938f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0396ae6b-0f45-4328-8484-026718b7938f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:56.493600435Z"}]},"request_id":"d4b9d30f-7899-462c-9abe-beea23f49431","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397616.501906} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a720bd23fac2b397e5e8d336f54ea329"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 378ms","method":"POST","requestID":"a720bd23fac2b397e5e8d336f54ea329","responseTime":378,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.387","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a720bd23fac2b397e5e8d336f54ea329"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxNn0.6zzNHdxXIJye8dB6xDD1xE0gKoie8ScjK1J_dEcUjUU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5cd713ef8aa4311a6ebf2917c4a416c6","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:56Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.974806,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:56Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397616,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxNn0.6zzNHdxXIJye8dB6xDD1xE0gKoie8ScjK1J_dEcUjUU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5cd713ef8aa4311a6ebf2917c4a416c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7abf80bb-09ba-4570-b29d-7b27b2d01a17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"653717a3-d424-4206-8028-bcace7a48a76","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397616.6534672} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5cd713ef8aa4311a6ebf2917c4a416c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1559e432-8122-48f3-8c9e-ec57fc87b9bb","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397616.6634548} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5cd713ef8aa4311a6ebf2917c4a416c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7abf80bb-09ba-4570-b29d-7b27b2d01a17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"c3656116-e97a-455e-afff-bcb0b9a2e31d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397616.8196156} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"626344dc-2ce2-46da-bfd5-dbbcb1acf421","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397616.8203104} authorization_1 | {"level":"info","message":"POST /relations/update 200 160ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5cd713ef8aa4311a6ebf2917c4a416c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":160}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7abf80bb-09ba-4570-b29d-7b27b2d01a17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7abf80bb-09ba-4570-b29d-7b27b2d01a17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:56.819592804Z"}]},"request_id":"c4a665ab-fa79-4f30-8a2d-604bacddc6b6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397616.8285456} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5cd713ef8aa4311a6ebf2917c4a416c6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 319ms","method":"POST","requestID":"5cd713ef8aa4311a6ebf2917c4a416c6","responseTime":319,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.326","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5cd713ef8aa4311a6ebf2917c4a416c6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxNn0.6zzNHdxXIJye8dB6xDD1xE0gKoie8ScjK1J_dEcUjUU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"803f48bc516ceadbc4e055a00877a3c0","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:56Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.006175,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:56Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397616,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxNn0.6zzNHdxXIJye8dB6xDD1xE0gKoie8ScjK1J_dEcUjUU"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"803f48bc516ceadbc4e055a00877a3c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52fff55d-eb10-431b-9607-e37b684b5928","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5e5c5744-da4b-4b51-aa8b-86c169c14103","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397617.0047538} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"803f48bc516ceadbc4e055a00877a3c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a415d3ed-ae4a-4deb-b55c-3892731a2db0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397617.0123591} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"803f48bc516ceadbc4e055a00877a3c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52fff55d-eb10-431b-9607-e37b684b5928","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"d1b711cf-565b-4dde-a4c3-ac7612dce469","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397617.1712394} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e60db516-87ef-4a4f-b569-92c371d758e1","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397617.1714213} authorization_1 | {"level":"info","message":"POST /relations/update 200 162ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"803f48bc516ceadbc4e055a00877a3c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":162}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52fff55d-eb10-431b-9607-e37b684b5928","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F52fff55d-eb10-431b-9607-e37b684b5928","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:57.171215216Z"}]},"request_id":"322fbd39-86bc-4585-80f6-d7631ae93253","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397617.1790879} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"803f48bc516ceadbc4e055a00877a3c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 342ms","method":"POST","requestID":"803f48bc516ceadbc4e055a00877a3c0","responseTime":342,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.352","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"803f48bc516ceadbc4e055a00877a3c0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxN30.t62e22w7E6AQHB8YgXeFKB1iovCzO9TYhQcKRgfC3r0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4d980e1fa6d850c8374d772b51ae5a69","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:57Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.002459,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:57Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397617,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxN30.t62e22w7E6AQHB8YgXeFKB1iovCzO9TYhQcKRgfC3r0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d980e1fa6d850c8374d772b51ae5a69"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb337561b-194f-45be-b518-499a757c2f7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3148882a-c785-48cd-ac4b-b217c0a1cb7b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397617.373143} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d980e1fa6d850c8374d772b51ae5a69"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c6580ef-b20a-4e86-8a92-b433edb58cad","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397617.3810349} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d980e1fa6d850c8374d772b51ae5a69"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb337561b-194f-45be-b518-499a757c2f7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"6efbd4e5-de1f-48d8-999a-784a7d512dff","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397617.5563297} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"edaf83ba-adbc-474e-a34a-14e1e69173fb","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397617.5567424} authorization_1 | {"level":"info","message":"POST /relations/update 200 178ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d980e1fa6d850c8374d772b51ae5a69"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":178}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb337561b-194f-45be-b518-499a757c2f7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb337561b-194f-45be-b518-499a757c2f7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:57.556306759Z"}]},"request_id":"70dcc209-88e5-4cfb-989f-24b8accdf60e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397617.5641787} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d980e1fa6d850c8374d772b51ae5a69"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 373ms","method":"POST","requestID":"4d980e1fa6d850c8374d772b51ae5a69","responseTime":373,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.385","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4d980e1fa6d850c8374d772b51ae5a69"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxN30.t62e22w7E6AQHB8YgXeFKB1iovCzO9TYhQcKRgfC3r0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d120fc54e37b8514f9a8d8b320e12f68","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:57Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.761927,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:57Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397617,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxN30.t62e22w7E6AQHB8YgXeFKB1iovCzO9TYhQcKRgfC3r0"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d120fc54e37b8514f9a8d8b320e12f68"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbcc0bac4-247c-4cf0-87c1-acab37ff7449","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4d0c5983-3bfa-4abc-afa7-93b8a767564b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397617.749526} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d120fc54e37b8514f9a8d8b320e12f68"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b861ec87-6570-457d-83e6-a33d98448b8e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397617.7572932} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d120fc54e37b8514f9a8d8b320e12f68"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbcc0bac4-247c-4cf0-87c1-acab37ff7449","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"c0f6b2ca-d8fa-4b93-891f-4ceef4375683","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397617.9251156} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"63cd70d1-4a08-4953-a652-d9ed34b83a87","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397617.925305} authorization_1 | {"level":"info","message":"POST /relations/update 200 171ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d120fc54e37b8514f9a8d8b320e12f68"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":171}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbcc0bac4-247c-4cf0-87c1-acab37ff7449","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbcc0bac4-247c-4cf0-87c1-acab37ff7449","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:57.925090253Z"}]},"request_id":"e091727b-b3d8-4249-8546-11d108b571dc","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397617.932844} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d120fc54e37b8514f9a8d8b320e12f68"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 360ms","method":"POST","requestID":"d120fc54e37b8514f9a8d8b320e12f68","responseTime":360,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.368","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d120fc54e37b8514f9a8d8b320e12f68"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxN30.t62e22w7E6AQHB8YgXeFKB1iovCzO9TYhQcKRgfC3r0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1f187001279694c443a8a679803e9205","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:57Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.159758,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:57Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397617,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxN30.t62e22w7E6AQHB8YgXeFKB1iovCzO9TYhQcKRgfC3r0"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1f187001279694c443a8a679803e9205"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24e106e0-720f-4bcf-8d31-497f08a144a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8b333e37-2325-4027-a1b6-d2662bd66839","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397618.110619} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1f187001279694c443a8a679803e9205"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"00a1fb96-72d4-49c1-8fba-84b6cc5def97","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397618.1204286} authorization_1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1f187001279694c443a8a679803e9205"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24e106e0-720f-4bcf-8d31-497f08a144a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"6d62b2ad-2a58-4062-9fd6-44053b93a965","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397618.2923222} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9fe0a65f-d6f4-4d5d-88fb-6d9cc7d4d364","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397618.292626} authorization_1 | {"level":"info","message":"POST /relations/update 200 175ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1f187001279694c443a8a679803e9205"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":175}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24e106e0-720f-4bcf-8d31-497f08a144a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24e106e0-720f-4bcf-8d31-497f08a144a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:58.292295927Z"}]},"request_id":"f4a63e0e-f804-405b-9df9-c7c734b5d845","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397618.2999046} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1f187001279694c443a8a679803e9205"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 358ms","method":"POST","requestID":"1f187001279694c443a8a679803e9205","responseTime":358,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1070","request_time":"0.369","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1f187001279694c443a8a679803e9205"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a88b5fa68b0b62aac34b684ed1dd2fd7","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.220541,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b337561b-194f-45be-b518-499a757c2f7e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b337561b-194f-45be-b518-499a757c2f7e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397618,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a88b5fa68b0b62aac34b684ed1dd2fd7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb337561b-194f-45be-b518-499a757c2f7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb337561b-194f-45be-b518-499a757c2f7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:57.556306759Z"}]},"request_id":"a365383b-e169-40e0-b453-c6113f9007f2","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397618.3292236} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a88b5fa68b0b62aac34b684ed1dd2fd7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"90d4d7a4-beb5-4070-ba3b-8103118d3d37","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397618.335974} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a88b5fa68b0b62aac34b684ed1dd2fd7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb337561b-194f-45be-b518-499a757c2f7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb337561b-194f-45be-b518-499a757c2f7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:57.556306759Z"}]},"request_id":"140c85a3-cf72-4a9e-8a6a-4b4072a64660","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397618.4954863} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a88b5fa68b0b62aac34b684ed1dd2fd7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"PATCH /devices/b337561b-194f-45be-b518-499a757c2f7e? 200 184ms","method":"PATCH","requestID":"a88b5fa68b0b62aac34b684ed1dd2fd7","responseTime":184,"status":200,"url":"/devices/b337561b-194f-45be-b518-499a757c2f7e?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b337561b-194f-45be-b518-499a757c2f7e? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a88b5fa68b0b62aac34b684ed1dd2fd7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9c2c3f92559b2ee74d8a09b65faae638","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.32121,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bcc0bac4-247c-4cf0-87c1-acab37ff7449","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/bcc0bac4-247c-4cf0-87c1-acab37ff7449","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397618,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c2c3f92559b2ee74d8a09b65faae638"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbcc0bac4-247c-4cf0-87c1-acab37ff7449","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbcc0bac4-247c-4cf0-87c1-acab37ff7449","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:57.925090253Z"}]},"request_id":"d4648d82-4502-4000-a1e3-9db37c8e8c6d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397618.5216372} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c2c3f92559b2ee74d8a09b65faae638"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"67042fa9-5308-4719-90a4-bb0ad137b101","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397618.5280118} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c2c3f92559b2ee74d8a09b65faae638"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbcc0bac4-247c-4cf0-87c1-acab37ff7449","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbcc0bac4-247c-4cf0-87c1-acab37ff7449","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:57.925090253Z"}]},"request_id":"f7f277e0-46a9-4958-a92c-42aa62d00782","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397618.696182} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9c2c3f92559b2ee74d8a09b65faae638"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"PATCH /devices/bcc0bac4-247c-4cf0-87c1-acab37ff7449? 200 191ms","method":"PATCH","requestID":"9c2c3f92559b2ee74d8a09b65faae638","responseTime":191,"status":200,"url":"/devices/bcc0bac4-247c-4cf0-87c1-acab37ff7449?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/bcc0bac4-247c-4cf0-87c1-acab37ff7449? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.200","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c2c3f92559b2ee74d8a09b65faae638"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"26d7696d30cc7f136553c8432e8c8cf2","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.093792,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/24e106e0-720f-4bcf-8d31-497f08a144a2","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/24e106e0-720f-4bcf-8d31-497f08a144a2","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397618,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26d7696d30cc7f136553c8432e8c8cf2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24e106e0-720f-4bcf-8d31-497f08a144a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24e106e0-720f-4bcf-8d31-497f08a144a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:58.292295927Z"}]},"request_id":"0ba9bc8e-be05-4dcc-b9f8-5467b9c3a33a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397618.719745} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26d7696d30cc7f136553c8432e8c8cf2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1c5a190-86d8-44eb-a38e-e8d02e73a584","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397618.7261958} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26d7696d30cc7f136553c8432e8c8cf2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24e106e0-720f-4bcf-8d31-497f08a144a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24e106e0-720f-4bcf-8d31-497f08a144a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:58.292295927Z"}]},"request_id":"bc8af501-35e0-4957-ade0-9ffda7f23466","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397618.9059803} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"26d7696d30cc7f136553c8432e8c8cf2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"PATCH /devices/24e106e0-720f-4bcf-8d31-497f08a144a2? 200 201ms","method":"PATCH","requestID":"26d7696d30cc7f136553c8432e8c8cf2","responseTime":201,"status":200,"url":"/devices/24e106e0-720f-4bcf-8d31-497f08a144a2?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/24e106e0-720f-4bcf-8d31-497f08a144a2? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.209","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"26d7696d30cc7f136553c8432e8c8cf2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"360fb1666273c1ca03e4d7606f78ce78","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.163304,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b337561b-194f-45be-b518-499a757c2f7e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b337561b-194f-45be-b518-499a757c2f7e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397618,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"360fb1666273c1ca03e4d7606f78ce78"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb337561b-194f-45be-b518-499a757c2f7e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb337561b-194f-45be-b518-499a757c2f7e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:57.556306759Z"}]},"request_id":"f72097ae-eada-4f7c-a66d-cdc885d0aa4c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397618.9315522} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"360fb1666273c1ca03e4d7606f78ce78"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.034637,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5614a3d4-f24c-4084-a0b5-b0137fb8bcda","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/5614a3d4-f24c-4084-a0b5-b0137fb8bcda","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397618,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"360fb1666273c1ca03e4d7606f78ce78"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:51612","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:51638","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.421616,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:51612","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.864731,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6d84bedf-2169-40f9-9ff2-7d2ee81b6cd7","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/6d84bedf-2169-40f9-9ff2-7d2ee81b6cd7","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397618,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg"} authorization_1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"360fb1666273c1ca03e4d7606f78ce78"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/33c81a61-4eba-4521-b722-65d3e0c3e025","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/33c81a61-4eba-4521-b722-65d3e0c3e025","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397618,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg"} authorization_1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"360fb1666273c1ca03e4d7606f78ce78"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization_1 | {"client_addr":"127.0.0.1:51638","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.391764,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bcc0bac4-247c-4cf0-87c1-acab37ff7449","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/bcc0bac4-247c-4cf0-87c1-acab37ff7449","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397618,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg"} authorization_1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"360fb1666273c1ca03e4d7606f78ce78"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b337561b-194f-45be-b518-499a757c2f7e? 200 38ms","method":"GET","requestID":"360fb1666273c1ca03e4d7606f78ce78","responseTime":38,"status":200,"url":"/devices/b337561b-194f-45be-b518-499a757c2f7e?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b337561b-194f-45be-b518-499a757c2f7e? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"360fb1666273c1ca03e4d7606f78ce78"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7f99278caf594f3ca609a13b24871190","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.427609,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bcc0bac4-247c-4cf0-87c1-acab37ff7449","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/bcc0bac4-247c-4cf0-87c1-acab37ff7449","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397618,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f99278caf594f3ca609a13b24871190"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbcc0bac4-247c-4cf0-87c1-acab37ff7449","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbcc0bac4-247c-4cf0-87c1-acab37ff7449","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:57.925090253Z"}]},"request_id":"f5cdbc55-9903-452b-a48a-0ea28b9cc11d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397618.9746513} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f99278caf594f3ca609a13b24871190"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:51612","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.205373,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:51612","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.585584,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.681344,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:51638","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:51638","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.525248,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ce4029a6-4730-407f-8b67-f4d39c8febee","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/ce4029a6-4730-407f-8b67-f4d39c8febee","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397618,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f99278caf594f3ca609a13b24871190"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/03fc0c30-2d63-4835-ac28-a8a3a5365792","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/03fc0c30-2d63-4835-ac28-a8a3a5365792","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397618,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f99278caf594f3ca609a13b24871190"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5b72b17a-910d-43ff-8e20-a528d4b56332","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/5b72b17a-910d-43ff-8e20-a528d4b56332","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397618,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f99278caf594f3ca609a13b24871190"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b36d3aad-98be-4ad2-9b67-5f76b23d5f42","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b36d3aad-98be-4ad2-9b67-5f76b23d5f42","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397618,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f99278caf594f3ca609a13b24871190"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"client_addr":"127.0.0.1:51646","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:51660","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:51646","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.239745,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"client_addr":"127.0.0.1:51660","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.060222,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b337561b-194f-45be-b518-499a757c2f7e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b337561b-194f-45be-b518-499a757c2f7e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397618,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg"} authorization_1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f99278caf594f3ca609a13b24871190"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/24e106e0-720f-4bcf-8d31-497f08a144a2","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/24e106e0-720f-4bcf-8d31-497f08a144a2","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397618,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOH0.4psrxDZWOhADc1Appm0WfUH6TQkqmPlPzZyLrda9zMg"} authorization_1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f99278caf594f3ca609a13b24871190"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:06:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bcc0bac4-247c-4cf0-87c1-acab37ff7449? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.042","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f99278caf594f3ca609a13b24871190"} device_1 | {"level":"info","message":"GET /devices/bcc0bac4-247c-4cf0-87c1-acab37ff7449? 200 37ms","method":"GET","requestID":"7f99278caf594f3ca609a13b24871190","responseTime":37,"status":200,"url":"/devices/bcc0bac4-247c-4cf0-87c1-acab37ff7449?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOX0.tLdmz7hEHReSBL1HdZlW22N2wz2Zupu6K6ypD7acQe8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"554faebe1929b0b47b4404fa940a2001","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:59Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.885307,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/24e106e0-720f-4bcf-8d31-497f08a144a2","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/24e106e0-720f-4bcf-8d31-497f08a144a2","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397619,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOX0.tLdmz7hEHReSBL1HdZlW22N2wz2Zupu6K6ypD7acQe8"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"554faebe1929b0b47b4404fa940a2001"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24e106e0-720f-4bcf-8d31-497f08a144a2","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F24e106e0-720f-4bcf-8d31-497f08a144a2","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:58.292295927Z"}]},"request_id":"e10e000a-744d-4667-bfa5-cf3f0d8d4af0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397619.01782} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"554faebe1929b0b47b4404fa940a2001"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:59Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.465193,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:59Z"} authorization_1 | {"client_addr":"127.0.0.1:51612","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:59Z"} authorization_1 | {"client_addr":"127.0.0.1:51612","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.733771,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:59Z"} authorization_1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:59Z"} authorization_1 | {"client_addr":"127.0.0.1:51624","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.127439,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:59Z"} authorization_1 | {"client_addr":"127.0.0.1:51638","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0396ae6b-0f45-4328-8484-026718b7938f","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/0396ae6b-0f45-4328-8484-026718b7938f","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397619,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOX0.tLdmz7hEHReSBL1HdZlW22N2wz2Zupu6K6ypD7acQe8"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"554faebe1929b0b47b4404fa940a2001"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7abf80bb-09ba-4570-b29d-7b27b2d01a17","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/7abf80bb-09ba-4570-b29d-7b27b2d01a17","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397619,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOX0.tLdmz7hEHReSBL1HdZlW22N2wz2Zupu6K6ypD7acQe8"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"554faebe1929b0b47b4404fa940a2001"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/52fff55d-eb10-431b-9607-e37b684b5928","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/52fff55d-eb10-431b-9607-e37b684b5928","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397619,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOX0.tLdmz7hEHReSBL1HdZlW22N2wz2Zupu6K6ypD7acQe8"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"554faebe1929b0b47b4404fa940a2001"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:51638","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.077912,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b337561b-194f-45be-b518-499a757c2f7e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b337561b-194f-45be-b518-499a757c2f7e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397619,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOX0.tLdmz7hEHReSBL1HdZlW22N2wz2Zupu6K6ypD7acQe8"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"554faebe1929b0b47b4404fa940a2001"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:06:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/24e106e0-720f-4bcf-8d31-497f08a144a2? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"554faebe1929b0b47b4404fa940a2001"} device_1 | {"level":"info","message":"GET /devices/24e106e0-720f-4bcf-8d31-497f08a144a2? 200 32ms","method":"GET","requestID":"554faebe1929b0b47b4404fa940a2001","responseTime":32,"status":200,"url":"/devices/24e106e0-720f-4bcf-8d31-497f08a144a2?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOX0.tLdmz7hEHReSBL1HdZlW22N2wz2Zupu6K6ypD7acQe8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"85548e321c81d71234119da51d4d692d","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:59Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.953941,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:59Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397619,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOX0.tLdmz7hEHReSBL1HdZlW22N2wz2Zupu6K6ypD7acQe8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"85548e321c81d71234119da51d4d692d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c37861b-9895-4519-87d4-60577bf4b897","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"35ef39dd-526c-41e7-81ca-bec38b407481","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397619.214935} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"85548e321c81d71234119da51d4d692d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"28d0d6dc-01b7-46ed-8923-56a8f6df04dd","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397619.2230794} authorization_1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"85548e321c81d71234119da51d4d692d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c37861b-9895-4519-87d4-60577bf4b897","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"93a636fc-6980-44ce-ac75-e5a2abdc98d6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397619.4808636} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3e19c32a-bd79-4f68-ac4a-ee4317d557e6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397619.4815333} authorization_1 | {"level":"info","message":"POST /relations/update 200 261ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"85548e321c81d71234119da51d4d692d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":261}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c37861b-9895-4519-87d4-60577bf4b897","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c37861b-9895-4519-87d4-60577bf4b897","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:59.480840100Z"}]},"request_id":"6a003c76-53d4-4e0f-b9bb-f92670e4b1e9","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397619.4886267} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"85548e321c81d71234119da51d4d692d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 446ms","method":"POST","requestID":"85548e321c81d71234119da51d4d692d","responseTime":446,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.452","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"85548e321c81d71234119da51d4d692d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOX0.tLdmz7hEHReSBL1HdZlW22N2wz2Zupu6K6ypD7acQe8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"86db23c2576c1c13c9e68f7202434ced","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:59Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.724009,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:59Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397619,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOX0.tLdmz7hEHReSBL1HdZlW22N2wz2Zupu6K6ypD7acQe8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86db23c2576c1c13c9e68f7202434ced"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6752b86-7e34-4063-b55b-c99d2533632c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"77bbdb5f-f1fe-43dd-88c2-bad10b0074d5","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397619.708006} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86db23c2576c1c13c9e68f7202434ced"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1d299ea1-f740-4dd5-aaf5-e20935903452","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397619.715909} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86db23c2576c1c13c9e68f7202434ced"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6752b86-7e34-4063-b55b-c99d2533632c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"06d35997-a5ef-49d1-9f42-3d838396c71f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397619.9158673} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a47ba809-2465-4af1-8697-882a59cf8b23","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397619.9161558} authorization_1 | {"level":"info","message":"POST /relations/update 200 204ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86db23c2576c1c13c9e68f7202434ced"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":204}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6752b86-7e34-4063-b55b-c99d2533632c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6752b86-7e34-4063-b55b-c99d2533632c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:59.915832420Z"}]},"request_id":"24e58081-33c5-4069-a727-fa243ddd83cc","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397619.9234614} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86db23c2576c1c13c9e68f7202434ced"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 426ms","method":"POST","requestID":"86db23c2576c1c13c9e68f7202434ced","responseTime":426,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:06:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.434","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"86db23c2576c1c13c9e68f7202434ced"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOX0.tLdmz7hEHReSBL1HdZlW22N2wz2Zupu6K6ypD7acQe8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ab395588746b3826fb0c48e67f0ce686","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:06:59Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.231141,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:06:59Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397619,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYxOX0.tLdmz7hEHReSBL1HdZlW22N2wz2Zupu6K6ypD7acQe8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab395588746b3826fb0c48e67f0ce686"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4390a35-54d5-4b39-bcab-1eaa05b921d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d8329839-3244-4f31-8506-2a20a0f21b8a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397620.109156} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab395588746b3826fb0c48e67f0ce686"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9125a957-3621-4383-aa34-9422600fe6fe","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397620.1170983} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab395588746b3826fb0c48e67f0ce686"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4390a35-54d5-4b39-bcab-1eaa05b921d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"4fdcf1c6-db2f-48ed-a87f-77d0f1fdac94","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397620.284284} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b5aeaa7-c27e-4a66-9d1f-7d13db921bba","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397620.2845979} authorization_1 | {"level":"info","message":"POST /relations/update 200 171ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab395588746b3826fb0c48e67f0ce686"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":171}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4390a35-54d5-4b39-bcab-1eaa05b921d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4390a35-54d5-4b39-bcab-1eaa05b921d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:07:00.284260323Z"}]},"request_id":"e5d8e4af-09b9-494d-aedb-b76d099a9380","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397620.2931747} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ab395588746b3826fb0c48e67f0ce686"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 359ms","method":"POST","requestID":"ab395588746b3826fb0c48e67f0ce686","responseTime":359,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:07:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.391","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ab395588746b3826fb0c48e67f0ce686"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3a3836ad195337cd2d20dc4e080c0272","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"357d2012f5126f372be65bc2156faf53","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8/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":"3a3836ad195337cd2d20dc4e080c0272"} device_1 | {"level":"info","message":"OPTIONS /devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8/websocket 200 1ms","method":"OPTIONS","requestID":"3a3836ad195337cd2d20dc4e080c0272","responseTime":1,"status":200,"url":"/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8/websocket"} gateway_1 | {"time_local":"08/Feb/2024:13:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8c37861b-9895-4519-87d4-60577bf4b897/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":"357d2012f5126f372be65bc2156faf53"} device_1 | {"level":"info","message":"OPTIONS /devices/8c37861b-9895-4519-87d4-60577bf4b897/websocket 200 1ms","method":"OPTIONS","requestID":"357d2012f5126f372be65bc2156faf53","responseTime":1,"status":200,"url":"/devices/8c37861b-9895-4519-87d4-60577bf4b897/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyMn0.D9I6fyTIcrYgNQIj8NFC_RAW3XXFzcwin24_4SxvlcQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5d489c093f25bc71085ead37679da2d5","responseTime":4,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyMn0.D9I6fyTIcrYgNQIj8NFC_RAW3XXFzcwin24_4SxvlcQ","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e956ca24c212d95bca99f5d8d3fd6db5","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:02Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.457924,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:02Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397622,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyMn0.D9I6fyTIcrYgNQIj8NFC_RAW3XXFzcwin24_4SxvlcQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5d489c093f25bc71085ead37679da2d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:51612","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:02Z"} authorization_1 | {"client_addr":"127.0.0.1:51612","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.020485,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:02Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c37861b-9895-4519-87d4-60577bf4b897","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/8c37861b-9895-4519-87d4-60577bf4b897","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397622,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyMn0.D9I6fyTIcrYgNQIj8NFC_RAW3XXFzcwin24_4SxvlcQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e956ca24c212d95bca99f5d8d3fd6db5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8c37861b-9895-4519-87d4-60577bf4b897/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":"e956ca24c212d95bca99f5d8d3fd6db5"} device_1 | {"level":"info","message":"POST /devices/8c37861b-9895-4519-87d4-60577bf4b897/websocket 200 15ms","method":"POST","requestID":"e956ca24c212d95bca99f5d8d3fd6db5","responseTime":15,"status":200,"url":"/devices/8c37861b-9895-4519-87d4-60577bf4b897/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.176","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5d489c093f25bc71085ead37679da2d5"} device_1 | {"level":"info","message":"POST /devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8/websocket 200 170ms","method":"POST","requestID":"5d489c093f25bc71085ead37679da2d5","responseTime":170,"status":200,"url":"/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/8c37861b-9895-4519-87d4-60577bf4b897' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyMn0.D9I6fyTIcrYgNQIj8NFC_RAW3XXFzcwin24_4SxvlcQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"abda156a51b2852b45f69665920376b0","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:02Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.785891,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:02Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397622,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyMn0.D9I6fyTIcrYgNQIj8NFC_RAW3XXFzcwin24_4SxvlcQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"abda156a51b2852b45f69665920376b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4390a35-54d5-4b39-bcab-1eaa05b921d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4390a35-54d5-4b39-bcab-1eaa05b921d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:07:00.284260323Z"}]},"request_id":"c1d1786d-a95c-4f2c-af5a-d046303f9ac8","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397622.754921} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"abda156a51b2852b45f69665920376b0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:07:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8? 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":"abda156a51b2852b45f69665920376b0"} device_1 | {"level":"info","message":"GET /devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8? 200 15ms","method":"GET","requestID":"abda156a51b2852b45f69665920376b0","responseTime":15,"status":200,"url":"/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyMn0.D9I6fyTIcrYgNQIj8NFC_RAW3XXFzcwin24_4SxvlcQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4ad13a516b998a75866d28c8d0888ddf","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:02Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.180569,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:02Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397622,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyMn0.D9I6fyTIcrYgNQIj8NFC_RAW3XXFzcwin24_4SxvlcQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ad13a516b998a75866d28c8d0888ddf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.911737,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"client_addr":"127.0.0.1:51612","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6752b86-7e34-4063-b55b-c99d2533632c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a6752b86-7e34-4063-b55b-c99d2533632c","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397622,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyMn0.D9I6fyTIcrYgNQIj8NFC_RAW3XXFzcwin24_4SxvlcQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3a6b120-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:51612","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.992856,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397622,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyMn0.D9I6fyTIcrYgNQIj8NFC_RAW3XXFzcwin24_4SxvlcQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3a6ff40-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6752b86-7e34-4063-b55b-c99d2533632c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6752b86-7e34-4063-b55b-c99d2533632c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:59.915832420Z"}]},"request_id":"f19ea05d-e248-40f0-8e7a-b6580d88fe3a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397623.1015866} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3a6b120-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4390a35-54d5-4b39-bcab-1eaa05b921d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4390a35-54d5-4b39-bcab-1eaa05b921d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:07:00.284260323Z"}]},"request_id":"d3754ec9-98ee-4c1a-a825-f71c56ef829d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397623.1119351} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3a6ff40-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8? 200 25ms","method":"GET","requestID":"f3a6ff40-c682-11ee-9765-47e7fd15fc3d","responseTime":25,"status":200,"url":"/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8?"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743817,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c37861b-9895-4519-87d4-60577bf4b897","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/8c37861b-9895-4519-87d4-60577bf4b897","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397622,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyMn0.D9I6fyTIcrYgNQIj8NFC_RAW3XXFzcwin24_4SxvlcQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3a6b120-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a6752b86-7e34-4063-b55b-c99d2533632c? 200 32ms","method":"GET","requestID":"f3a6b120-c682-11ee-9765-47e7fd15fc3d","responseTime":32,"status":200,"url":"/devices/a6752b86-7e34-4063-b55b-c99d2533632c?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.311503,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"client_addr":"127.0.0.1:51612","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:03Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c37861b-9895-4519-87d4-60577bf4b897","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/8c37861b-9895-4519-87d4-60577bf4b897","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397622,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyMn0.D9I6fyTIcrYgNQIj8NFC_RAW3XXFzcwin24_4SxvlcQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3f74220-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:51612","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.48993,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397622,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyMn0.D9I6fyTIcrYgNQIj8NFC_RAW3XXFzcwin24_4SxvlcQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3f79040-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c37861b-9895-4519-87d4-60577bf4b897","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c37861b-9895-4519-87d4-60577bf4b897","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:59.480840100Z"}]},"request_id":"77cb73ab-a670-4dfc-b1cb-2290d358e173","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397623.6336372} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3f74220-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4390a35-54d5-4b39-bcab-1eaa05b921d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4390a35-54d5-4b39-bcab-1eaa05b921d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:07:00.284260323Z"}]},"request_id":"014b202d-33a5-489f-a128-b8858814ede7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397623.6352613} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3f79040-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/8c37861b-9895-4519-87d4-60577bf4b897? 200 25ms","method":"GET","requestID":"f3f74220-c682-11ee-9765-47e7fd15fc3d","responseTime":25,"status":200,"url":"/devices/8c37861b-9895-4519-87d4-60577bf4b897?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8? 200 24ms","method":"GET","requestID":"f3f79040-c682-11ee-9765-47e7fd15fc3d","responseTime":24,"status":200,"url":"/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.75767,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c37861b-9895-4519-87d4-60577bf4b897","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8c37861b-9895-4519-87d4-60577bf4b897","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3fbaef0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/8c37861b-9895-4519-87d4-60577bf4b897/signaling 200 9ms","method":"POST","requestID":"f3fbaef0-c682-11ee-9765-47e7fd15fc3d","responseTime":9,"status":200,"url":"/devices/8c37861b-9895-4519-87d4-60577bf4b897/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.78066,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3fd83b0-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8/signaling 200 9ms","method":"POST","requestID":"f3fd83b0-c682-11ee-9765-47e7fd15fc3d","responseTime":9,"status":200,"url":"/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"7f32d88a-2f29-479b-95eb-87be1eceb014"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"b4c8537e-1679-49ac-b998-e597e74737ca"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"69c79cc6-241c-4682-9659-717021433bb1"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8c37861b-9895-4519-87d4-60577bf4b897"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.889581,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397622,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyMn0.D9I6fyTIcrYgNQIj8NFC_RAW3XXFzcwin24_4SxvlcQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3ffa690-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F688046c0-a171-4001-abac-60617a7a98e3#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F688046c0-a171-4001-abac-60617a7a98e3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"c53b52e9-5ecb-4db1-a2b7-d32465df4b8c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397623.7995663} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f32f0fe6-6446-4c6c-8d60-b8df58d22a52","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397623.7998595} authorization_1 | {"level":"info","message":"POST /relations/update 200 173ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ad13a516b998a75866d28c8d0888ddf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":173}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"39a1632c-c8b7-4d8c-a84a-a8cb650f8583","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397623.8017395} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"96d1a46c-c3a4-4d69-888f-53d54bdffa34","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397623.8021724} authorization_1 | {"level":"info","message":"POST /relations/update 200 120ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3ffa690-c682-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":120}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1044ms","method":"POST","requestID":"4ad13a516b998a75866d28c8d0888ddf","responseTime":1044,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:07:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"1.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ad13a516b998a75866d28c8d0888ddf"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyM30.uFGBSDBos9FzbGWxeya4KmnGqZbTODuoxsoQQ-jFfSU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"00252f3e060d8ce6c978cab036475006","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.709706,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8c37861b-9895-4519-87d4-60577bf4b897","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/8c37861b-9895-4519-87d4-60577bf4b897","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397623,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyM30.uFGBSDBos9FzbGWxeya4KmnGqZbTODuoxsoQQ-jFfSU"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00252f3e060d8ce6c978cab036475006"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c37861b-9895-4519-87d4-60577bf4b897","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8c37861b-9895-4519-87d4-60577bf4b897","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:06:59.480840100Z"}]},"request_id":"38917ab8-1df6-41d3-a4c0-184146c0bd09","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397623.8300686} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"00252f3e060d8ce6c978cab036475006"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3592e838-cffa-448e-a8a9-1e618f950260'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3592e838-cffa-448e-a8a9-1e618f950260'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 289ms","method":"POST","requestID":"f3ffa690-c682-11ee-9765-47e7fd15fc3d","responseTime":289,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:07:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8c37861b-9895-4519-87d4-60577bf4b897? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.148","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"00252f3e060d8ce6c978cab036475006"} device_1 | {"level":"info","message":"GET /devices/8c37861b-9895-4519-87d4-60577bf4b897? 200 144ms","method":"GET","requestID":"00252f3e060d8ce6c978cab036475006","responseTime":144,"status":200,"url":"/devices/8c37861b-9895-4519-87d4-60577bf4b897?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyM30.uFGBSDBos9FzbGWxeya4KmnGqZbTODuoxsoQQ-jFfSU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0dc037764858ffc45fb4813ba9bbb508","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"client_addr":"127.0.0.1:52406","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.115426,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:03Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397623,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzYyM30.uFGBSDBos9FzbGWxeya4KmnGqZbTODuoxsoQQ-jFfSU"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0dc037764858ffc45fb4813ba9bbb508"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4390a35-54d5-4b39-bcab-1eaa05b921d8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb4390a35-54d5-4b39-bcab-1eaa05b921d8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:07:00.284260323Z"}]},"request_id":"cd3180c7-763b-4ad6-badd-04ad5a3a3d14","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397623.9823635} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0dc037764858ffc45fb4813ba9bbb508"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:07:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8? 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":"0dc037764858ffc45fb4813ba9bbb508"} device_1 | {"level":"info","message":"GET /devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8? 200 14ms","method":"GET","requestID":"0dc037764858ffc45fb4813ba9bbb508","responseTime":14,"status":200,"url":"/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/8c37861b-9895-4519-87d4-60577bf4b897'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/8c37861b-9895-4519-87d4-60577bf4b897'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8'"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3592e838-cffa-448e-a8a9-1e618f950260' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"3592e838-cffa-448e-a8a9-1e618f950260","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"28f77b675d085abee62bdb3777ad6efe","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/8c37861b-9895-4519-87d4-60577bf4b897"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3592e838-cffa-448e-a8a9-1e618f950260"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"28f77b675d085abee62bdb3777ad6efe","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:07:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"28f77b675d085abee62bdb3777ad6efe"} device_1 | {"data":{"peerconnection":"3592e838-cffa-448e-a8a9-1e618f950260","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2NH0.-cLlmsQEC77hfAqkAW4LYigfZ5_fmULpKll6p0FWD6M","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"63844e33d0fd5034eb7da2e3184a3447","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/688046c0-a171-4001-abac-60617a7a98e3"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.598345,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397664,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2NH0.-cLlmsQEC77hfAqkAW4LYigfZ5_fmULpKll6p0FWD6M"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"63844e33d0fd5034eb7da2e3184a3447"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/688046c0-a171-4001-abac-60617a7a98e3"} gateway_1 | {"time_local":"08/Feb/2024:13:07:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/688046c0-a171-4001-abac-60617a7a98e3 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"63844e33d0fd5034eb7da2e3184a3447"} experiment_1 | {"level":"info","message":"GET /experiments/688046c0-a171-4001-abac-60617a7a98e3 200 19ms","method":"GET","requestID":"63844e33d0fd5034eb7da2e3184a3447","responseTime":19,"status":200,"url":"/experiments/688046c0-a171-4001-abac-60617a7a98e3"} device_1 | {"data":{"peerconnection":"3592e838-cffa-448e-a8a9-1e618f950260","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2NH0.-cLlmsQEC77hfAqkAW4LYigfZ5_fmULpKll6p0FWD6M","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"022111e351b1b0a5028590c12116cbea","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/688046c0-a171-4001-abac-60617a7a98e3"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.556721,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397664,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2NH0.-cLlmsQEC77hfAqkAW4LYigfZ5_fmULpKll6p0FWD6M"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"022111e351b1b0a5028590c12116cbea"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/688046c0-a171-4001-abac-60617a7a98e3"} gateway_1 | {"time_local":"08/Feb/2024:13:07:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/688046c0-a171-4001-abac-60617a7a98e3 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"022111e351b1b0a5028590c12116cbea"} experiment_1 | {"level":"info","message":"GET /experiments/688046c0-a171-4001-abac-60617a7a98e3 200 21ms","method":"GET","requestID":"022111e351b1b0a5028590c12116cbea","responseTime":21,"status":200,"url":"/experiments/688046c0-a171-4001-abac-60617a7a98e3"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3592e838-cffa-448e-a8a9-1e618f950260' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"3592e838-cffa-448e-a8a9-1e618f950260","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"3c25babe50f0ed315c6f1623d55246d2","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/8c37861b-9895-4519-87d4-60577bf4b897"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3592e838-cffa-448e-a8a9-1e618f950260"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:44Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3592e838-cffa-448e-a8a9-1e618f950260","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"24660955-dab4-4330-9b67-16839af842ed","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397664.5192797} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.393431,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3592e838-cffa-448e-a8a9-1e618f950260","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3592e838-cffa-448e-a8a9-1e618f950260","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c573000-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2NH0.-cLlmsQEC77hfAqkAW4LYigfZ5_fmULpKll6p0FWD6M","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0dd5b2b7e0f1ca86f4bbd056af56b72e","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/688046c0-a171-4001-abac-60617a7a98e3"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.155566,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397664,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2NH0.-cLlmsQEC77hfAqkAW4LYigfZ5_fmULpKll6p0FWD6M"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0dd5b2b7e0f1ca86f4bbd056af56b72e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/688046c0-a171-4001-abac-60617a7a98e3"} gateway_1 | {"time_local":"08/Feb/2024:13:07:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/688046c0-a171-4001-abac-60617a7a98e3 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0dd5b2b7e0f1ca86f4bbd056af56b72e"} experiment_1 | {"level":"info","message":"GET /experiments/688046c0-a171-4001-abac-60617a7a98e3 200 18ms","method":"GET","requestID":"0dd5b2b7e0f1ca86f4bbd056af56b72e","responseTime":18,"status":200,"url":"/experiments/688046c0-a171-4001-abac-60617a7a98e3"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/3592e838-cffa-448e-a8a9-1e618f950260 200 159ms","method":"GET","requestID":"0c573000-c683-11ee-9765-47e7fd15fc3d","responseTime":159,"status":200,"url":"/peerconnections/3592e838-cffa-448e-a8a9-1e618f950260"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2NH0.-cLlmsQEC77hfAqkAW4LYigfZ5_fmULpKll6p0FWD6M","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"dd1358d20c355014b2262981a8ede275","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/688046c0-a171-4001-abac-60617a7a98e3"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.993598,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:44Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397664,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2NH0.-cLlmsQEC77hfAqkAW4LYigfZ5_fmULpKll6p0FWD6M"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd1358d20c355014b2262981a8ede275"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/688046c0-a171-4001-abac-60617a7a98e3"} gateway_1 | {"time_local":"08/Feb/2024:13:07:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/688046c0-a171-4001-abac-60617a7a98e3 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd1358d20c355014b2262981a8ede275"} experiment_1 | {"level":"info","message":"GET /experiments/688046c0-a171-4001-abac-60617a7a98e3 200 169ms","method":"GET","requestID":"dd1358d20c355014b2262981a8ede275","responseTime":169,"status":200,"url":"/experiments/688046c0-a171-4001-abac-60617a7a98e3"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 347ms","method":"POST","requestID":"3c25babe50f0ed315c6f1623d55246d2","responseTime":347,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:07:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.351","http_referrer":"","http_user_agent":"node-fetch","requestID":"3c25babe50f0ed315c6f1623d55246d2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2NH0.-cLlmsQEC77hfAqkAW4LYigfZ5_fmULpKll6p0FWD6M","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4f668d6f977b2d754958c5f058d1e027","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/688046c0-a171-4001-abac-60617a7a98e3"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.338544,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:44Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397664,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2NH0.-cLlmsQEC77hfAqkAW4LYigfZ5_fmULpKll6p0FWD6M"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f668d6f977b2d754958c5f058d1e027"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:44Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.178292,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:44Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3592e838-cffa-448e-a8a9-1e618f950260","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/3592e838-cffa-448e-a8a9-1e618f950260","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397664,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2NH0.-cLlmsQEC77hfAqkAW4LYigfZ5_fmULpKll6p0FWD6M"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c8ebac0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/3592e838-cffa-448e-a8a9-1e618f950260' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3592e838-cffa-448e-a8a9-1e618f950260' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"3592e838-cffa-448e-a8a9-1e618f950260","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8806443fc95efa00ce720852257987e2","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3592e838-cffa-448e-a8a9-1e618f950260': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3592e838-cffa-448e-a8a9-1e618f950260","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"7ec1c903-6a7f-4e95-906a-d6283d4cc84c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397664.9026062} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/8c37861b-9895-4519-87d4-60577bf4b897"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3592e838-cffa-448e-a8a9-1e618f950260"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0f9d05e3fcc4ae2a4ddf9549ca2790b3","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:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e56c90e9-202c-4053-b936-5f7097d68945","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397664.9030979} 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/8c37861b-9895-4519-87d4-60577bf4b897"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3592e838-cffa-448e-a8a9-1e618f950260"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c8ebac0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"data":{"peerconnection":"3592e838-cffa-448e-a8a9-1e618f950260","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/3592e838-cffa-448e-a8a9-1e618f950260 204 347ms","method":"DELETE","requestID":"0c8ebac0-c683-11ee-9765-47e7fd15fc3d","responseTime":347,"status":204,"url":"/peerconnections/3592e838-cffa-448e-a8a9-1e618f950260"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/688046c0-a171-4001-abac-60617a7a98e3"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F688046c0-a171-4001-abac-60617a7a98e3': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F688046c0-a171-4001-abac-60617a7a98e3","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"a19289f1-3b2d-400e-8c7b-bf7b34f41ee7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397665.5347776} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f0ca569d-5a13-4903-ad77-2713d779fd33","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397665.5356085} authorization_1 | {"level":"info","message":"POST /relations/update 200 138ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4f668d6f977b2d754958c5f058d1e027"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":138}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/688046c0-a171-4001-abac-60617a7a98e3"} gateway_1 | {"time_local":"08/Feb/2024:13:07:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/688046c0-a171-4001-abac-60617a7a98e3 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.654","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4f668d6f977b2d754958c5f058d1e027"} experiment_1 | {"level":"info","message":"DELETE /experiments/688046c0-a171-4001-abac-60617a7a98e3 204 1651ms","method":"DELETE","requestID":"4f668d6f977b2d754958c5f058d1e027","responseTime":1651,"status":204,"url":"/experiments/688046c0-a171-4001-abac-60617a7a98e3"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1612ms","method":"POST","requestID":"8806443fc95efa00ce720852257987e2","responseTime":1612,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:07: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":"1.615","http_referrer":"","http_user_agent":"node-fetch","requestID":"8806443fc95efa00ce720852257987e2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2Nn0.7rGMtHraV-V6I-vzIPF508W_0vWObd1LYoxgRXOAPUE","level":"info","message":"auth send jwt"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1611ms","method":"POST","requestID":"0f9d05e3fcc4ae2a4ddf9549ca2790b3","responseTime":1611,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:07: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":"1.615","http_referrer":"","http_user_agent":"node-fetch","requestID":"0f9d05e3fcc4ae2a4ddf9549ca2790b3"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f6fbc36a05993f1215fdd8319f8eede8","responseTime":5,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:07:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1490","request_time":"44.266","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"14ef027c905414d98aac8da42f5d9304"} gateway_1 | {"time_local":"08/Feb/2024:13:07:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1487","request_time":"44.111","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3192c8150fa23ec87f19d2b7abaece36"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:46Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.785874,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:46Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397666,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2Nn0.7rGMtHraV-V6I-vzIPF508W_0vWObd1LYoxgRXOAPUE"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8c37861b-9895-4519-87d4-60577bf4b897' closed"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f6fbc36a05993f1215fdd8319f8eede8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe84609b-5b31-462c-a9d2-f6042ce88a95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"60a76ac9-6cc7-4b31-9dec-e351d7329589","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397666.8937905} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f6fbc36a05993f1215fdd8319f8eede8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"efe6af04-5fff-48e2-b404-ef83f2b25655","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397666.9024835} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f6fbc36a05993f1215fdd8319f8eede8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe84609b-5b31-462c-a9d2-f6042ce88a95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"e5dd3984-b400-4f2e-a444-ea23b2a4556f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397667.0752223} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"404ebf84-8005-4abe-b660-801faaa2501f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397667.0757718} authorization_1 | {"level":"info","message":"POST /relations/update 200 179ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f6fbc36a05993f1215fdd8319f8eede8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":179}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe84609b-5b31-462c-a9d2-f6042ce88a95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe84609b-5b31-462c-a9d2-f6042ce88a95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:07:47.075193697Z"}]},"request_id":"03823c27-fcd2-41c2-92a2-1d2fec62f69a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397667.0852685} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f6fbc36a05993f1215fdd8319f8eede8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 565ms","method":"POST","requestID":"f6fbc36a05993f1215fdd8319f8eede8","responseTime":565,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:07:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.580","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f6fbc36a05993f1215fdd8319f8eede8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2N30.rEQjH2QAoJlcZOIW3PG_3z1BKe5qx12rLrFwkJR7A3k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"97f51f54d10ed7050af0f47386bf472d","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:47Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.869026,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:47Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397667,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2N30.rEQjH2QAoJlcZOIW3PG_3z1BKe5qx12rLrFwkJR7A3k"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97f51f54d10ed7050af0f47386bf472d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bc3ce82-6955-452a-a292-a2549f1df6fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"90058df8-c144-4ea8-84f9-b8ceb974d048","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397667.2685013} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97f51f54d10ed7050af0f47386bf472d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4cb5cadf-ca88-4f3d-bd69-a7e4bbb62e72","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397667.2774596} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97f51f54d10ed7050af0f47386bf472d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bc3ce82-6955-452a-a292-a2549f1df6fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"b918963e-f8ce-42b6-b063-4e73805a82b9","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397667.4429972} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81da2eca-ead6-4254-8c8b-58c1d987d324","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397667.443244} authorization_1 | {"level":"info","message":"POST /relations/update 200 169ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97f51f54d10ed7050af0f47386bf472d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":169}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bc3ce82-6955-452a-a292-a2549f1df6fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bc3ce82-6955-452a-a292-a2549f1df6fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:07:47.442965504Z"}]},"request_id":"6e8776e8-dc47-4f27-8b80-555eab1a99e2","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397667.4503546} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"97f51f54d10ed7050af0f47386bf472d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 359ms","method":"POST","requestID":"97f51f54d10ed7050af0f47386bf472d","responseTime":359,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:07:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.392","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"97f51f54d10ed7050af0f47386bf472d"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"766726b1bd4e89ef95d35be3cca415ff","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:07:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/fe84609b-5b31-462c-a9d2-f6042ce88a95/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":"766726b1bd4e89ef95d35be3cca415ff"} device_1 | {"level":"info","message":"OPTIONS /devices/fe84609b-5b31-462c-a9d2-f6042ce88a95/websocket 200 1ms","method":"OPTIONS","requestID":"766726b1bd4e89ef95d35be3cca415ff","responseTime":1,"status":200,"url":"/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2OX0.L17-HWX8OIA80XID00VK45Qf4Y_kI4y6amnH8IJppkg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8a77dfbb680266d44a2e1ae3b9d835b3","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:49Z"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.920598,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:49Z"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"872151bac38f6ab97d9295b0425da72a","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397669,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2OX0.L17-HWX8OIA80XID00VK45Qf4Y_kI4y6amnH8IJppkg"} gateway_1 | {"time_local":"08/Feb/2024:13:07:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7bc3ce82-6955-452a-a292-a2549f1df6fe/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":"872151bac38f6ab97d9295b0425da72a"} device_1 | {"level":"info","message":"OPTIONS /devices/7bc3ce82-6955-452a-a292-a2549f1df6fe/websocket 200 0ms","method":"OPTIONS","requestID":"872151bac38f6ab97d9295b0425da72a","responseTime":0,"status":200,"url":"/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe/websocket"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a77dfbb680266d44a2e1ae3b9d835b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2OX0.L17-HWX8OIA80XID00VK45Qf4Y_kI4y6amnH8IJppkg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a1f3905ead4da0a4e891c727f90577c4","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:49Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.890356,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:49Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397669,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY2OX0.L17-HWX8OIA80XID00VK45Qf4Y_kI4y6amnH8IJppkg"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a1f3905ead4da0a4e891c727f90577c4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/fe84609b-5b31-462c-a9d2-f6042ce88a95/websocket 200 196ms","method":"POST","requestID":"8a77dfbb680266d44a2e1ae3b9d835b3","responseTime":196,"status":200,"url":"/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95/websocket"} gateway_1 | {"time_local":"08/Feb/2024:13:07:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fe84609b-5b31-462c-a9d2-f6042ce88a95/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.202","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8a77dfbb680266d44a2e1ae3b9d835b3"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:07:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7bc3ce82-6955-452a-a292-a2549f1df6fe/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.355","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a1f3905ead4da0a4e891c727f90577c4"} device_1 | {"level":"info","message":"POST /devices/7bc3ce82-6955-452a-a292-a2549f1df6fe/websocket 200 349ms","method":"POST","requestID":"a1f3905ead4da0a4e891c727f90577c4","responseTime":349,"status":200,"url":"/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY3MH0.uUMlbADSHZuFJATaSPLKnVZzegJzXauuZerB6sZDtAQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"aa9480812b146cdacfcf60fdad9dbbb7","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.314889,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397670,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY3MH0.uUMlbADSHZuFJATaSPLKnVZzegJzXauuZerB6sZDtAQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa9480812b146cdacfcf60fdad9dbbb7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe84609b-5b31-462c-a9d2-f6042ce88a95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe84609b-5b31-462c-a9d2-f6042ce88a95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:07:47.075193697Z"}]},"request_id":"0bb720b4-fc93-4c8b-a0cd-48a27b3c98ad","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397670.135524} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa9480812b146cdacfcf60fdad9dbbb7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:07:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fe84609b-5b31-462c-a9d2-f6042ce88a95? 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":"aa9480812b146cdacfcf60fdad9dbbb7"} device_1 | {"level":"info","message":"GET /devices/fe84609b-5b31-462c-a9d2-f6042ce88a95? 200 19ms","method":"GET","requestID":"aa9480812b146cdacfcf60fdad9dbbb7","responseTime":19,"status":200,"url":"/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY3MH0.uUMlbADSHZuFJATaSPLKnVZzegJzXauuZerB6sZDtAQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8d4df0c501c1638a0336ffe148cc125e","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.019994,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397670,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY3MH0.uUMlbADSHZuFJATaSPLKnVZzegJzXauuZerB6sZDtAQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d4df0c501c1638a0336ffe148cc125e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bc3ce82-6955-452a-a292-a2549f1df6fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bc3ce82-6955-452a-a292-a2549f1df6fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:07:47.442965504Z"}]},"request_id":"0bf422a2-8e4e-46c0-8b2c-f667c7b5901e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397670.1580303} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d4df0c501c1638a0336ffe148cc125e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:07:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7bc3ce82-6955-452a-a292-a2549f1df6fe? 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":"8d4df0c501c1638a0336ffe148cc125e"} device_1 | {"level":"info","message":"GET /devices/7bc3ce82-6955-452a-a292-a2549f1df6fe? 200 17ms","method":"GET","requestID":"8d4df0c501c1638a0336ffe148cc125e","responseTime":17,"status":200,"url":"/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY3MH0.uUMlbADSHZuFJATaSPLKnVZzegJzXauuZerB6sZDtAQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9eeaa3f68b6b6f38b50ae4d689e9c0de","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":2.568923,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:50Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397670,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY3MH0.uUMlbADSHZuFJATaSPLKnVZzegJzXauuZerB6sZDtAQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9eeaa3f68b6b6f38b50ae4d689e9c0de"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:50Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.131121,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397670,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY3MH0.uUMlbADSHZuFJATaSPLKnVZzegJzXauuZerB6sZDtAQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fe9f3b0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:53016","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:50Z"} authorization_1 | {"client_addr":"127.0.0.1:53016","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.965724,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:50Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397670,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY3MH0.uUMlbADSHZuFJATaSPLKnVZzegJzXauuZerB6sZDtAQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fea68e0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe84609b-5b31-462c-a9d2-f6042ce88a95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe84609b-5b31-462c-a9d2-f6042ce88a95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:07:47.075193697Z"}]},"request_id":"54232d67-8db0-42b1-b734-39761ae59563","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397670.524344} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fe9f3b0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bc3ce82-6955-452a-a292-a2549f1df6fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bc3ce82-6955-452a-a292-a2549f1df6fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:07:47.442965504Z"}]},"request_id":"3e7396ee-381b-48f9-beb3-1503e6f63210","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397670.52515} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fea68e0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/fe84609b-5b31-462c-a9d2-f6042ce88a95? 200 24ms","method":"GET","requestID":"0fe9f3b0-c683-11ee-9765-47e7fd15fc3d","responseTime":24,"status":200,"url":"/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/7bc3ce82-6955-452a-a292-a2549f1df6fe? 200 22ms","method":"GET","requestID":"0fea68e0-c683-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.22244,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:51Z"} authorization_1 | {"client_addr":"127.0.0.1:53016","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:51Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397670,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY3MH0.uUMlbADSHZuFJATaSPLKnVZzegJzXauuZerB6sZDtAQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1036db30-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:53016","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.329632,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397670,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY3MH0.uUMlbADSHZuFJATaSPLKnVZzegJzXauuZerB6sZDtAQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10372950-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe84609b-5b31-462c-a9d2-f6042ce88a95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe84609b-5b31-462c-a9d2-f6042ce88a95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:07:47.075193697Z"}]},"request_id":"423825e1-31d3-4c1d-91af-ebc0b3919059","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397671.0259328} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1036db30-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bc3ce82-6955-452a-a292-a2549f1df6fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bc3ce82-6955-452a-a292-a2549f1df6fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:07:47.442965504Z"}]},"request_id":"957a46a3-44d8-41e5-bf47-3384f6453410","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397671.0268075} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10372950-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/fe84609b-5b31-462c-a9d2-f6042ce88a95? 200 22ms","method":"GET","requestID":"1036db30-c683-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/7bc3ce82-6955-452a-a292-a2549f1df6fe? 200 21ms","method":"GET","requestID":"10372950-c683-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.84866,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:51Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"103ad2d0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/fe84609b-5b31-462c-a9d2-f6042ce88a95/signaling 200 9ms","method":"POST","requestID":"103ad2d0-c683-11ee-9765-47e7fd15fc3d","responseTime":9,"status":200,"url":"/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.874014,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:51Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"103ca790-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/7bc3ce82-6955-452a-a292-a2549f1df6fe/signaling 200 11ms","method":"POST","requestID":"103ca790-c683-11ee-9765-47e7fd15fc3d","responseTime":11,"status":200,"url":"/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"f5d09f9c-cae8-4cff-b2c4-326535eab255"},{"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":"a06a471d-9c1f-44c9-b023-b83ec847a149"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d1380964-447f-4268-9eec-c97b38cae9a8"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95"},{"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/7bc3ce82-6955-452a-a292-a2549f1df6fe"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.147837,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:51Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397670,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY3MH0.uUMlbADSHZuFJATaSPLKnVZzegJzXauuZerB6sZDtAQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"103ef180-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F98fb5dcd-0df1-4a26-9ee2-1c6940db00da#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F98fb5dcd-0df1-4a26-9ee2-1c6940db00da","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"fb9039cc-d388-47f4-b0eb-e89d1fdbf5b7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397671.201187} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"392bb079-8bed-479b-ad6b-2c5bd64d334e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397671.201362} authorization_1 | {"level":"info","message":"POST /relations/update 200 183ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9eeaa3f68b6b6f38b50ae4d689e9c0de"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":183}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"65945dc5-c5e0-405e-bc7e-914193f4554c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397671.2028956} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"57ee23f2-e1a3-479c-9f00-bcafbd99aefb","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397671.2033932} authorization_1 | {"level":"info","message":"POST /relations/update 200 132ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"103ef180-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":132}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1047ms","method":"POST","requestID":"9eeaa3f68b6b6f38b50ae4d689e9c0de","responseTime":1047,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"1.054","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9eeaa3f68b6b6f38b50ae4d689e9c0de"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY3MX0.hyP9h4_YkguG2L_qitkGH04aeusGv34gJsXNOYQECKY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c8e00ac85250fa1ba5d62b080c764ea5","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.984826,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397671,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY3MX0.hyP9h4_YkguG2L_qitkGH04aeusGv34gJsXNOYQECKY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c8e00ac85250fa1ba5d62b080c764ea5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe84609b-5b31-462c-a9d2-f6042ce88a95","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffe84609b-5b31-462c-a9d2-f6042ce88a95","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:07:47.075193697Z"}]},"request_id":"7844126b-3469-4a76-b1d9-dd82056462b8","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397671.2377872} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c8e00ac85250fa1ba5d62b080c764ea5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 306ms","method":"POST","requestID":"103ef180-c683-11ee-9765-47e7fd15fc3d","responseTime":306,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fe84609b-5b31-462c-a9d2-f6042ce88a95? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c8e00ac85250fa1ba5d62b080c764ea5"} device_1 | {"level":"info","message":"GET /devices/fe84609b-5b31-462c-a9d2-f6042ce88a95? 200 146ms","method":"GET","requestID":"c8e00ac85250fa1ba5d62b080c764ea5","responseTime":146,"status":200,"url":"/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY3MX0.hyP9h4_YkguG2L_qitkGH04aeusGv34gJsXNOYQECKY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d945a189d86b07471e8b3993224b7ff2","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:07:51Z"} authorization_1 | {"client_addr":"127.0.0.1:35000","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891806,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:07:51Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397671,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzY3MX0.hyP9h4_YkguG2L_qitkGH04aeusGv34gJsXNOYQECKY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d945a189d86b07471e8b3993224b7ff2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bc3ce82-6955-452a-a292-a2549f1df6fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7bc3ce82-6955-452a-a292-a2549f1df6fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:07:47.442965504Z"}]},"request_id":"d094e233-eb2f-4c89-859d-c4576f53b1c9","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397671.3934543} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d945a189d86b07471e8b3993224b7ff2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/7bc3ce82-6955-452a-a292-a2549f1df6fe? 200 14ms","method":"GET","requestID":"d945a189d86b07471e8b3993224b7ff2","responseTime":14,"status":200,"url":"/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe?"} gateway_1 | {"time_local":"08/Feb/2024:13:07:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7bc3ce82-6955-452a-a292-a2549f1df6fe? 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":"d945a189d86b07471e8b3993224b7ff2"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe'"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"759626e0-7d49-483d-a0ad-0b4b849853f7","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"76224fcd968497bd0152a194681f6e6f","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/fe84609b-5b31-462c-a9d2-f6042ce88a95"},{"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/7bc3ce82-6955-452a-a292-a2549f1df6fe"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"76224fcd968497bd0152a194681f6e6f","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:08:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"76224fcd968497bd0152a194681f6e6f"} device_1 | {"data":{"peerconnection":"759626e0-7d49-483d-a0ad-0b4b849853f7","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxMX0.vKcJg2QY2e63y3SQ4byAs6Fcn1Zml1c7mXnOQwh4Qvo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9a367de7c0c7636866a15d645f7957c8","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:31Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.953927,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397711,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxMX0.vKcJg2QY2e63y3SQ4byAs6Fcn1Zml1c7mXnOQwh4Qvo"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a367de7c0c7636866a15d645f7957c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} gateway_1 | {"time_local":"08/Feb/2024:13:08:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da HTTP/1.1","status": "200","body_bytes_sent":"1358","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a367de7c0c7636866a15d645f7957c8"} experiment_1 | {"level":"info","message":"GET /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da 200 14ms","method":"GET","requestID":"9a367de7c0c7636866a15d645f7957c8","responseTime":14,"status":200,"url":"/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} device_1 | {"data":{"peerconnection":"759626e0-7d49-483d-a0ad-0b4b849853f7","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxMX0.vKcJg2QY2e63y3SQ4byAs6Fcn1Zml1c7mXnOQwh4Qvo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9a64c930538f66028af6d406971e5ac5","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:31Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.265081,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397711,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxMX0.vKcJg2QY2e63y3SQ4byAs6Fcn1Zml1c7mXnOQwh4Qvo"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9a64c930538f66028af6d406971e5ac5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} gateway_1 | {"time_local":"08/Feb/2024:13:08:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da HTTP/1.1","status": "200","body_bytes_sent":"1358","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9a64c930538f66028af6d406971e5ac5"} experiment_1 | {"level":"info","message":"GET /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da 200 17ms","method":"GET","requestID":"9a64c930538f66028af6d406971e5ac5","responseTime":17,"status":200,"url":"/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"759626e0-7d49-483d-a0ad-0b4b849853f7","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"009eb007fe85601e05225c241fd7fdd7","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/fe84609b-5b31-462c-a9d2-f6042ce88a95"},{"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/7bc3ce82-6955-452a-a292-a2549f1df6fe"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:31Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F759626e0-7d49-483d-a0ad-0b4b849853f7","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a50effc8-5a81-47e2-a72a-f8c967c53383","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397711.920806} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.651049,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"28980190-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxMX0.vKcJg2QY2e63y3SQ4byAs6Fcn1Zml1c7mXnOQwh4Qvo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f9271a4a2638c616e820811a1c7f424b","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:31Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.234519,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397711,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxMX0.vKcJg2QY2e63y3SQ4byAs6Fcn1Zml1c7mXnOQwh4Qvo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f9271a4a2638c616e820811a1c7f424b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} gateway_1 | {"time_local":"08/Feb/2024:13:08:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da HTTP/1.1","status": "200","body_bytes_sent":"1358","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f9271a4a2638c616e820811a1c7f424b"} experiment_1 | {"level":"info","message":"GET /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da 200 16ms","method":"GET","requestID":"f9271a4a2638c616e820811a1c7f424b","responseTime":16,"status":200,"url":"/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7 200 151ms","method":"GET","requestID":"28980190-c683-11ee-9765-47e7fd15fc3d","responseTime":151,"status":200,"url":"/peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxMn0.ullg4X2_Rxm_1BE4wid068Els8IZfvDs4uTvX1pPqXQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"21c864f755c3cdc0abab28e9a1acffb7","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.975321,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397712,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxMn0.ullg4X2_Rxm_1BE4wid068Els8IZfvDs4uTvX1pPqXQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21c864f755c3cdc0abab28e9a1acffb7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} experiment_1 | {"level":"info","message":"GET /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da 200 16ms","method":"GET","requestID":"21c864f755c3cdc0abab28e9a1acffb7","responseTime":16,"status":200,"url":"/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} gateway_1 | {"time_local":"08/Feb/2024:13:08:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da HTTP/1.1","status": "200","body_bytes_sent":"1358","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"21c864f755c3cdc0abab28e9a1acffb7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxMn0.ullg4X2_Rxm_1BE4wid068Els8IZfvDs4uTvX1pPqXQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"478323513f9ff5c4f7ce3a1db7c5ef12","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.992822,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397712,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxMn0.ullg4X2_Rxm_1BE4wid068Els8IZfvDs4uTvX1pPqXQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"478323513f9ff5c4f7ce3a1db7c5ef12"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 336ms","method":"POST","requestID":"009eb007fe85601e05225c241fd7fdd7","responseTime":336,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:08: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.340","http_referrer":"","http_user_agent":"node-fetch","requestID":"009eb007fe85601e05225c241fd7fdd7"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} gateway_1 | {"time_local":"08/Feb/2024:13:08:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"478323513f9ff5c4f7ce3a1db7c5ef12"} experiment_1 | {"level":"info","message":"GET /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da 200 51ms","method":"GET","requestID":"478323513f9ff5c4f7ce3a1db7c5ef12","responseTime":51,"status":200,"url":"/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxMn0.ullg4X2_Rxm_1BE4wid068Els8IZfvDs4uTvX1pPqXQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f4874d224bfb32021957135989d49de7","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.114708,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:32Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397712,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxMn0.ullg4X2_Rxm_1BE4wid068Els8IZfvDs4uTvX1pPqXQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4874d224bfb32021957135989d49de7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:32Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.280161,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:32Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397712,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxMn0.ullg4X2_Rxm_1BE4wid068Els8IZfvDs4uTvX1pPqXQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"28cef010-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"759626e0-7d49-483d-a0ad-0b4b849853f7","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F759626e0-7d49-483d-a0ad-0b4b849853f7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F759626e0-7d49-483d-a0ad-0b4b849853f7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"8c194fef-3e86-47cc-8616-a60cf7c3f06c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397712.299609} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ade6e6e7-0bc1-49b0-aa62-8f5d6949124d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397712.2999547} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c871b9778522d6ef09dd534730e36370","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"28cef010-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d6bde283074c22a53ba744aef26b21b6","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/fe84609b-5b31-462c-a9d2-f6042ce88a95"},{"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/7bc3ce82-6955-452a-a292-a2549f1df6fe"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95"},{"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/7bc3ce82-6955-452a-a292-a2549f1df6fe"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"759626e0-7d49-483d-a0ad-0b4b849853f7","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7 204 317ms","method":"DELETE","requestID":"28cef010-c683-11ee-9765-47e7fd15fc3d","responseTime":317,"status":204,"url":"/peerconnections/759626e0-7d49-483d-a0ad-0b4b849853f7"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F98fb5dcd-0df1-4a26-9ee2-1c6940db00da': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F98fb5dcd-0df1-4a26-9ee2-1c6940db00da","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"55f4ff95-636f-405b-844d-7ec7198defbf","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397712.9275599} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"04f3880c-4de3-4b50-b1e6-6f7d768dc91a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397712.9280975} authorization_1 | {"level":"info","message":"POST /relations/update 200 180ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4874d224bfb32021957135989d49de7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":180}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} gateway_1 | {"time_local":"08/Feb/2024:13:08:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.663","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f4874d224bfb32021957135989d49de7"} experiment_1 | {"level":"info","message":"DELETE /experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da 204 1660ms","method":"DELETE","requestID":"f4874d224bfb32021957135989d49de7","responseTime":1660,"status":204,"url":"/experiments/98fb5dcd-0df1-4a26-9ee2-1c6940db00da"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1617ms","method":"POST","requestID":"c871b9778522d6ef09dd534730e36370","responseTime":1617,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:08:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.621","http_referrer":"","http_user_agent":"node-fetch","requestID":"c871b9778522d6ef09dd534730e36370"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1619ms","method":"POST","requestID":"d6bde283074c22a53ba744aef26b21b6","responseTime":1619,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:08:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.623","http_referrer":"","http_user_agent":"node-fetch","requestID":"d6bde283074c22a53ba744aef26b21b6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxM30.x8dn08qtjxoER4InhoQe0OiUL7i5g09TkZHChKZiHpw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f30614f37b1338a4d3a66967e8979a13","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"08/Feb/2024:13:08:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1731","request_time":"44.337","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2e69077aefd6cb48074afdc1e1a4b148"} gateway_1 | {"time_local":"08/Feb/2024:13:08:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1729","request_time":"44.170","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"766df13d5d8f02df36d449b4d94173c6"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe' closed"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:33Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.020638,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:33Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397713,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxM30.x8dn08qtjxoER4InhoQe0OiUL7i5g09TkZHChKZiHpw"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f30614f37b1338a4d3a66967e8979a13"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb70feedc-cb30-4347-be71-91df453459b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d2d1b521-45fe-428e-adda-51cd1ef26da0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397714.2616315} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f30614f37b1338a4d3a66967e8979a13"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"961afa61-02af-4cef-979f-f760b6ac84e1","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397714.2708871} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f30614f37b1338a4d3a66967e8979a13"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb70feedc-cb30-4347-be71-91df453459b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"c03e7257-3980-4446-80a0-6c311ed6bc52","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397714.4343152} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"db0cce85-1fb4-4750-aae1-8426e52e9b9c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397714.4346204} authorization_1 | {"level":"info","message":"POST /relations/update 200 166ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f30614f37b1338a4d3a66967e8979a13"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":166}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb70feedc-cb30-4347-be71-91df453459b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb70feedc-cb30-4347-be71-91df453459b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:08:34.434288730Z"}]},"request_id":"1631d6af-ec54-4bf8-9af3-02df69c40c24","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397714.441385} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f30614f37b1338a4d3a66967e8979a13"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 521ms","method":"POST","requestID":"f30614f37b1338a4d3a66967e8979a13","responseTime":521,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:08:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.530","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f30614f37b1338a4d3a66967e8979a13"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxNH0.uT28i0nCb58aell8PdQBy3TMYNAMT1jGgM8oOekmEmA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"22f9a9c6c2bcde3f04dc9d1c66bcaa5b","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:34Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.103239,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:34Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397714,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxNH0.uT28i0nCb58aell8PdQBy3TMYNAMT1jGgM8oOekmEmA"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22f9a9c6c2bcde3f04dc9d1c66bcaa5b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0d4bc96-adf5-4e22-b023-6f193361694e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"ad5c43fc-d845-4214-87fb-1bdbebbb619b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397714.611192} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22f9a9c6c2bcde3f04dc9d1c66bcaa5b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab8b4f5b-fe66-4222-b53f-61dc6ca9a75d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397714.6206882} authorization_1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22f9a9c6c2bcde3f04dc9d1c66bcaa5b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0d4bc96-adf5-4e22-b023-6f193361694e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"bf4600d7-f25d-468f-ad38-dcd9dab059de","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397714.7944238} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f0a91d8-b462-41be-a684-1bac5334b13e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397714.794631} authorization_1 | {"level":"info","message":"POST /relations/update 200 177ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22f9a9c6c2bcde3f04dc9d1c66bcaa5b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":177}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0d4bc96-adf5-4e22-b023-6f193361694e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0d4bc96-adf5-4e22-b023-6f193361694e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:08:34.794393377Z"}]},"request_id":"cd5b5848-3f7c-4970-83cf-5b365d0df83a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397714.8030622} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"22f9a9c6c2bcde3f04dc9d1c66bcaa5b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 352ms","method":"POST","requestID":"22f9a9c6c2bcde3f04dc9d1c66bcaa5b","responseTime":352,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:08:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.386","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"22f9a9c6c2bcde3f04dc9d1c66bcaa5b"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c72e8f0d8cbb45c660ec61b1554c0f15","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:08:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a0d4bc96-adf5-4e22-b023-6f193361694e/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":"c72e8f0d8cbb45c660ec61b1554c0f15"} device_1 | {"level":"info","message":"OPTIONS /devices/a0d4bc96-adf5-4e22-b023-6f193361694e/websocket 200 1ms","method":"OPTIONS","requestID":"c72e8f0d8cbb45c660ec61b1554c0f15","responseTime":1,"status":200,"url":"/devices/a0d4bc96-adf5-4e22-b023-6f193361694e/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxNn0.6Aiy6jZ-6suMxnlpMaEQ4Yft3b8bWGwmaSWrFLi1ddo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b89d7ec182fdc5e75e8a1b2b2c3827b3","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:36Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.249085,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:36Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397716,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxNn0.6Aiy6jZ-6suMxnlpMaEQ4Yft3b8bWGwmaSWrFLi1ddo"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b89d7ec182fdc5e75e8a1b2b2c3827b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ae99289e77f700771fe4de896e49fc1a","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:08:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b70feedc-cb30-4347-be71-91df453459b5/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":"ae99289e77f700771fe4de896e49fc1a"} device_1 | {"level":"info","message":"OPTIONS /devices/b70feedc-cb30-4347-be71-91df453459b5/websocket 200 1ms","method":"OPTIONS","requestID":"ae99289e77f700771fe4de896e49fc1a","responseTime":1,"status":200,"url":"/devices/b70feedc-cb30-4347-be71-91df453459b5/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxNn0.6Aiy6jZ-6suMxnlpMaEQ4Yft3b8bWGwmaSWrFLi1ddo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b19c916c7d24ce03adb1487ff0fbba8c","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:36Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.694978,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:36Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b70feedc-cb30-4347-be71-91df453459b5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b70feedc-cb30-4347-be71-91df453459b5","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397716,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxNn0.6Aiy6jZ-6suMxnlpMaEQ4Yft3b8bWGwmaSWrFLi1ddo"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b19c916c7d24ce03adb1487ff0fbba8c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:08:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a0d4bc96-adf5-4e22-b023-6f193361694e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.194","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b89d7ec182fdc5e75e8a1b2b2c3827b3"} device_1 | {"level":"info","message":"POST /devices/a0d4bc96-adf5-4e22-b023-6f193361694e/websocket 200 188ms","method":"POST","requestID":"b89d7ec182fdc5e75e8a1b2b2c3827b3","responseTime":188,"status":200,"url":"/devices/a0d4bc96-adf5-4e22-b023-6f193361694e/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:08:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b70feedc-cb30-4347-be71-91df453459b5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.340","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b19c916c7d24ce03adb1487ff0fbba8c"} device_1 | {"level":"info","message":"POST /devices/b70feedc-cb30-4347-be71-91df453459b5/websocket 200 336ms","method":"POST","requestID":"b19c916c7d24ce03adb1487ff0fbba8c","responseTime":336,"status":200,"url":"/devices/b70feedc-cb30-4347-be71-91df453459b5/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/b70feedc-cb30-4347-be71-91df453459b5' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxN30.FpGyY5AMhfYjpgFZUoMEC9lwZ7PFj_1quNKYQXSnbhs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3db30aab4738536555cb67b5b92c2def","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:37Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.714465,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b70feedc-cb30-4347-be71-91df453459b5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b70feedc-cb30-4347-be71-91df453459b5","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397717,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxN30.FpGyY5AMhfYjpgFZUoMEC9lwZ7PFj_1quNKYQXSnbhs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3db30aab4738536555cb67b5b92c2def"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb70feedc-cb30-4347-be71-91df453459b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb70feedc-cb30-4347-be71-91df453459b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:08:34.434288730Z"}]},"request_id":"b218dfc6-4784-4fae-9581-1b0acb074fe5","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397717.4513264} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3db30aab4738536555cb67b5b92c2def"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:08:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b70feedc-cb30-4347-be71-91df453459b5? 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":"3db30aab4738536555cb67b5b92c2def"} device_1 | {"level":"info","message":"GET /devices/b70feedc-cb30-4347-be71-91df453459b5? 200 18ms","method":"GET","requestID":"3db30aab4738536555cb67b5b92c2def","responseTime":18,"status":200,"url":"/devices/b70feedc-cb30-4347-be71-91df453459b5?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxN30.FpGyY5AMhfYjpgFZUoMEC9lwZ7PFj_1quNKYQXSnbhs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1fab800fcb6640ad5708480a5b79c5c0","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:37Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.882806,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397717,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxN30.FpGyY5AMhfYjpgFZUoMEC9lwZ7PFj_1quNKYQXSnbhs"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1fab800fcb6640ad5708480a5b79c5c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0d4bc96-adf5-4e22-b023-6f193361694e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0d4bc96-adf5-4e22-b023-6f193361694e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:08:34.794393377Z"}]},"request_id":"7c834539-123f-42e1-943f-6d525473e1e6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397717.4737263} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1fab800fcb6640ad5708480a5b79c5c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:08:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a0d4bc96-adf5-4e22-b023-6f193361694e? 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":"1fab800fcb6640ad5708480a5b79c5c0"} device_1 | {"level":"info","message":"GET /devices/a0d4bc96-adf5-4e22-b023-6f193361694e? 200 15ms","method":"GET","requestID":"1fab800fcb6640ad5708480a5b79c5c0","responseTime":15,"status":200,"url":"/devices/a0d4bc96-adf5-4e22-b023-6f193361694e?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxN30.FpGyY5AMhfYjpgFZUoMEC9lwZ7PFj_1quNKYQXSnbhs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b3e55056a9dcf374fab02fa0eb576784","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:37Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.729146,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:37Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397717,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxN30.FpGyY5AMhfYjpgFZUoMEC9lwZ7PFj_1quNKYQXSnbhs"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3e55056a9dcf374fab02fa0eb576784"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:37Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.158914,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b70feedc-cb30-4347-be71-91df453459b5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b70feedc-cb30-4347-be71-91df453459b5","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397717,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxN30.FpGyY5AMhfYjpgFZUoMEC9lwZ7PFj_1quNKYQXSnbhs"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c1f2c80-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:39454","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:37Z"} authorization_1 | {"client_addr":"127.0.0.1:39454","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.693077,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:37Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397717,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxN30.FpGyY5AMhfYjpgFZUoMEC9lwZ7PFj_1quNKYQXSnbhs"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c1fa1b0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb70feedc-cb30-4347-be71-91df453459b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb70feedc-cb30-4347-be71-91df453459b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:08:34.434288730Z"}]},"request_id":"e97fa7eb-26ed-4a45-8c4e-dc7ac2495e55","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397717.845807} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c1f2c80-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0d4bc96-adf5-4e22-b023-6f193361694e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0d4bc96-adf5-4e22-b023-6f193361694e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:08:34.794393377Z"}]},"request_id":"103a96e6-5fd3-4064-b6a8-3fe58afd8d6a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397717.8505702} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c1fa1b0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"GET /devices/b70feedc-cb30-4347-be71-91df453459b5? 200 20ms","method":"GET","requestID":"2c1f2c80-c683-11ee-9765-47e7fd15fc3d","responseTime":20,"status":200,"url":"/devices/b70feedc-cb30-4347-be71-91df453459b5?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a0d4bc96-adf5-4e22-b023-6f193361694e? 200 22ms","method":"GET","requestID":"2c1fa1b0-c683-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/a0d4bc96-adf5-4e22-b023-6f193361694e?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:38Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.167191,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:38Z"} authorization_1 | {"client_addr":"127.0.0.1:39454","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b70feedc-cb30-4347-be71-91df453459b5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b70feedc-cb30-4347-be71-91df453459b5","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397717,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxN30.FpGyY5AMhfYjpgFZUoMEC9lwZ7PFj_1quNKYQXSnbhs"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c6dc1b0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:39454","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.517891,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397717,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxN30.FpGyY5AMhfYjpgFZUoMEC9lwZ7PFj_1quNKYQXSnbhs"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c6e0fd0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb70feedc-cb30-4347-be71-91df453459b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb70feedc-cb30-4347-be71-91df453459b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:08:34.434288730Z"}]},"request_id":"72acce9d-2736-4877-9a4e-ee4115044cbb","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397718.3612862} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c6dc1b0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0d4bc96-adf5-4e22-b023-6f193361694e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0d4bc96-adf5-4e22-b023-6f193361694e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:08:34.794393377Z"}]},"request_id":"ef31f60b-803f-48c0-9cdf-a7370c6e8be4","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397718.3624263} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c6e0fd0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b70feedc-cb30-4347-be71-91df453459b5? 200 21ms","method":"GET","requestID":"2c6dc1b0-c683-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/b70feedc-cb30-4347-be71-91df453459b5?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a0d4bc96-adf5-4e22-b023-6f193361694e? 200 20ms","method":"GET","requestID":"2c6e0fd0-c683-11ee-9765-47e7fd15fc3d","responseTime":20,"status":200,"url":"/devices/a0d4bc96-adf5-4e22-b023-6f193361694e?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:38Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.833522,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:38Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/b70feedc-cb30-4347-be71-91df453459b5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b70feedc-cb30-4347-be71-91df453459b5","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c716b30-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/b70feedc-cb30-4347-be71-91df453459b5/signaling 200 8ms","method":"POST","requestID":"2c716b30-c683-11ee-9765-47e7fd15fc3d","responseTime":8,"status":200,"url":"/devices/b70feedc-cb30-4347-be71-91df453459b5/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:38Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.947196,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:38Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c7318e0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/a0d4bc96-adf5-4e22-b023-6f193361694e/signaling 200 10ms","method":"POST","requestID":"2c7318e0-c683-11ee-9765-47e7fd15fc3d","responseTime":10,"status":200,"url":"/devices/a0d4bc96-adf5-4e22-b023-6f193361694e/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"5c7bae4f-d18f-425c-80cc-2435db4bf435"},{"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":"b1f83854-019a-458e-8b1b-52f2ac9983a3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b3e46b17-cb01-4012-ba3b-4222c2b985b7"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e"},{"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/b70feedc-cb30-4347-be71-91df453459b5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:38Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.972629,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:38Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397717,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxN30.FpGyY5AMhfYjpgFZUoMEC9lwZ7PFj_1quNKYQXSnbhs"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c753bc0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feeb645b8-ef60-4d30-9f65-0ba69a399acd#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feeb645b8-ef60-4d30-9f65-0ba69a399acd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"fbb17319-8a66-4fe0-a4a6-1ec9f4eb92af","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397718.5353901} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0c6d4b9-588b-453d-bf35-d3462e569a8e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397718.5356367} authorization_1 | {"level":"info","message":"POST /relations/update 200 184ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b3e55056a9dcf374fab02fa0eb576784"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":184}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"f3be667b-9ad9-457e-938a-f93d6d81e9da","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397718.537754} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0dc9ee34-f493-478c-af9b-5d841cfad82a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397718.5383112} authorization_1 | {"level":"info","message":"POST /relations/update 200 135ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2c753bc0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":135}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1063ms","method":"POST","requestID":"b3e55056a9dcf374fab02fa0eb576784","responseTime":1063,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:08:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"1.070","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b3e55056a9dcf374fab02fa0eb576784"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxOH0.bNSiaMDGzLu96Wq7U_vNB-sLHuydlir1RVaSDhvQ1Ho","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c5029ef2eb8ee413e3919b50bdd7916d","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:38Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922441,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b70feedc-cb30-4347-be71-91df453459b5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b70feedc-cb30-4347-be71-91df453459b5","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397718,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxOH0.bNSiaMDGzLu96Wq7U_vNB-sLHuydlir1RVaSDhvQ1Ho"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5029ef2eb8ee413e3919b50bdd7916d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb70feedc-cb30-4347-be71-91df453459b5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb70feedc-cb30-4347-be71-91df453459b5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:08:34.434288730Z"}]},"request_id":"a4a073c9-d3e4-4bbf-b5d4-6d7d45b8404e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397718.5664265} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5029ef2eb8ee413e3919b50bdd7916d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 325ms","method":"POST","requestID":"2c753bc0-c683-11ee-9765-47e7fd15fc3d","responseTime":325,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:08:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b70feedc-cb30-4347-be71-91df453459b5? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.172","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c5029ef2eb8ee413e3919b50bdd7916d"} device_1 | {"level":"info","message":"GET /devices/b70feedc-cb30-4347-be71-91df453459b5? 200 167ms","method":"GET","requestID":"c5029ef2eb8ee413e3919b50bdd7916d","responseTime":167,"status":200,"url":"/devices/b70feedc-cb30-4347-be71-91df453459b5?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxOH0.bNSiaMDGzLu96Wq7U_vNB-sLHuydlir1RVaSDhvQ1Ho","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2b69e22bb8e5db2da66bffc022ea3514","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:08:38Z"} authorization_1 | {"client_addr":"127.0.0.1:48592","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.952533,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:08:38Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397718,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzcxOH0.bNSiaMDGzLu96Wq7U_vNB-sLHuydlir1RVaSDhvQ1Ho"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b69e22bb8e5db2da66bffc022ea3514"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0d4bc96-adf5-4e22-b023-6f193361694e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa0d4bc96-adf5-4e22-b023-6f193361694e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:08:34.794393377Z"}]},"request_id":"972d7e8d-cd77-44fd-99ad-8542d1bbf1a2","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397718.740834} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b69e22bb8e5db2da66bffc022ea3514"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a0d4bc96-adf5-4e22-b023-6f193361694e? 200 13ms","method":"GET","requestID":"2b69e22bb8e5db2da66bffc022ea3514","responseTime":13,"status":200,"url":"/devices/a0d4bc96-adf5-4e22-b023-6f193361694e?"} gateway_1 | {"time_local":"08/Feb/2024:13:08:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a0d4bc96-adf5-4e22-b023-6f193361694e? 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":"2b69e22bb8e5db2da66bffc022ea3514"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/b70feedc-cb30-4347-be71-91df453459b5'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/b70feedc-cb30-4347-be71-91df453459b5'"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0bd5647a7ddb838a0c39afea5a4d1fce","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/a0d4bc96-adf5-4e22-b023-6f193361694e"},{"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/b70feedc-cb30-4347-be71-91df453459b5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"0bd5647a7ddb838a0c39afea5a4d1fce","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:09:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"0bd5647a7ddb838a0c39afea5a4d1fce"} device_1 | {"data":{"peerconnection":"2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc1OX0.Eju5lSCziyj-8-v0uvIRwveJ5-apkrxbsPzjZcF49rY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"921abab8d62e44a19b238a2298e209ab","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:19Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.583877,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397759,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc1OX0.Eju5lSCziyj-8-v0uvIRwveJ5-apkrxbsPzjZcF49rY"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"921abab8d62e44a19b238a2298e209ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"} gateway_1 | {"time_local":"08/Feb/2024:13:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd HTTP/1.1","status": "200","body_bytes_sent":"1358","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"921abab8d62e44a19b238a2298e209ab"} experiment_1 | {"level":"info","message":"GET /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd 200 19ms","method":"GET","requestID":"921abab8d62e44a19b238a2298e209ab","responseTime":19,"status":200,"url":"/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"} device_1 | {"data":{"peerconnection":"2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc1OX0.Eju5lSCziyj-8-v0uvIRwveJ5-apkrxbsPzjZcF49rY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8b58206eb281bd1d7724f00feae99cae","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:19Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.209171,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397759,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc1OX0.Eju5lSCziyj-8-v0uvIRwveJ5-apkrxbsPzjZcF49rY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8b58206eb281bd1d7724f00feae99cae"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"} gateway_1 | {"time_local":"08/Feb/2024:13:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd HTTP/1.1","status": "200","body_bytes_sent":"1358","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8b58206eb281bd1d7724f00feae99cae"} experiment_1 | {"level":"info","message":"GET /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd 200 16ms","method":"GET","requestID":"8b58206eb281bd1d7724f00feae99cae","responseTime":16,"status":200,"url":"/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7221c89a44e6a08575247f82c4ffd73e","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/a0d4bc96-adf5-4e22-b023-6f193361694e"},{"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/b70feedc-cb30-4347-be71-91df453459b5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:19Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6c3454b1-2531-489d-b8c6-9b7b773a17bf","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397759.2263155} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.338227,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44ca5430-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc1OX0.Eju5lSCziyj-8-v0uvIRwveJ5-apkrxbsPzjZcF49rY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"595b3ef23c5ceed0d1002afa18315417","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:19Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.330099,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397759,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc1OX0.Eju5lSCziyj-8-v0uvIRwveJ5-apkrxbsPzjZcF49rY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"595b3ef23c5ceed0d1002afa18315417"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"} gateway_1 | {"time_local":"08/Feb/2024:13:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd HTTP/1.1","status": "200","body_bytes_sent":"1358","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"595b3ef23c5ceed0d1002afa18315417"} experiment_1 | {"level":"info","message":"GET /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd 200 18ms","method":"GET","requestID":"595b3ef23c5ceed0d1002afa18315417","responseTime":18,"status":200,"url":"/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9 200 138ms","method":"GET","requestID":"44ca5430-c683-11ee-9765-47e7fd15fc3d","responseTime":138,"status":200,"url":"/peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc1OX0.Eju5lSCziyj-8-v0uvIRwveJ5-apkrxbsPzjZcF49rY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"782f92187df7494f72493a845a797726","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:19Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.314897,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:19Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397759,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc1OX0.Eju5lSCziyj-8-v0uvIRwveJ5-apkrxbsPzjZcF49rY"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"782f92187df7494f72493a845a797726"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 304ms","method":"POST","requestID":"7221c89a44e6a08575247f82c4ffd73e","responseTime":304,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:09: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.308","http_referrer":"","http_user_agent":"node-fetch","requestID":"7221c89a44e6a08575247f82c4ffd73e"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"} gateway_1 | {"time_local":"08/Feb/2024:13:09:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.109","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"782f92187df7494f72493a845a797726"} experiment_1 | {"level":"info","message":"GET /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd 200 103ms","method":"GET","requestID":"782f92187df7494f72493a845a797726","responseTime":103,"status":200,"url":"/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc1OX0.Eju5lSCziyj-8-v0uvIRwveJ5-apkrxbsPzjZcF49rY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"135efb9ba7dcaadc65a62c704afdd202","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:19Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.599066,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:19Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397759,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc1OX0.Eju5lSCziyj-8-v0uvIRwveJ5-apkrxbsPzjZcF49rY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"135efb9ba7dcaadc65a62c704afdd202"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:19Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.841979,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:19Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397759,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc1OX0.Eju5lSCziyj-8-v0uvIRwveJ5-apkrxbsPzjZcF49rY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44fc60b0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"154a1b983b1ad44afef063b50f748cf4","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"0422db6a-2751-43f7-b3f9-9ae6caee1699","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397759.5700781} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8896685d-e84f-43b4-8f3f-2b8e018aac90","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397759.570463} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/a0d4bc96-adf5-4e22-b023-6f193361694e"},{"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/b70feedc-cb30-4347-be71-91df453459b5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c071ed43cf07a5acfb17edf3a2a8ce47","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"44fc60b0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e"},{"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/b70feedc-cb30-4347-be71-91df453459b5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9 204 503ms","method":"DELETE","requestID":"44fc60b0-c683-11ee-9765-47e7fd15fc3d","responseTime":503,"status":204,"url":"/peerconnections/2a7b5114-7bfb-461f-8a16-dbbe3dacc9b9"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feeb645b8-ef60-4d30-9f65-0ba69a399acd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feeb645b8-ef60-4d30-9f65-0ba69a399acd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"d8d997a2-c750-4601-8a59-8cfa20c8c9aa","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397760.3868275} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e6a6c9f8-e64e-48fd-aa5a-2a7728e5690a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397760.3873963} authorization_1 | {"level":"info","message":"POST /relations/update 200 172ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"135efb9ba7dcaadc65a62c704afdd202"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":172}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"} gateway_1 | {"time_local":"08/Feb/2024:13:09:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.821","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"135efb9ba7dcaadc65a62c704afdd202"} experiment_1 | {"level":"info","message":"DELETE /experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd 204 1818ms","method":"DELETE","requestID":"135efb9ba7dcaadc65a62c704afdd202","responseTime":1818,"status":204,"url":"/experiments/eeb645b8-ef60-4d30-9f65-0ba69a399acd"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1782ms","method":"POST","requestID":"154a1b983b1ad44afef063b50f748cf4","responseTime":1782,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:09:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.785","http_referrer":"","http_user_agent":"node-fetch","requestID":"154a1b983b1ad44afef063b50f748cf4"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1780ms","method":"POST","requestID":"c071ed43cf07a5acfb17edf3a2a8ce47","responseTime":1780,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:09:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.788","http_referrer":"","http_user_agent":"node-fetch","requestID":"c071ed43cf07a5acfb17edf3a2a8ce47"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2MX0._qWxSRO2AvLyLx9pNYJzCFas061bN66Tui1qEsnOYEc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a84ce2c47ee3f9d5565bef6ae7fe9119","responseTime":5,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:09:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1727","request_time":"44.418","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"18609aa44186b2c79250e41cea04ff89"} gateway_1 | {"time_local":"08/Feb/2024:13:09:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1730","request_time":"44.250","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b807ee40121caf872306460c97685354"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:21Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.092063,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:21Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397761,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2MX0._qWxSRO2AvLyLx9pNYJzCFas061bN66Tui1qEsnOYEc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a84ce2c47ee3f9d5565bef6ae7fe9119"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b70feedc-cb30-4347-be71-91df453459b5' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a25280d-1694-4724-89be-c534d0032f59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6feebeb1-71e1-4f5a-81b0-d7812092e02d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397761.5265923} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a84ce2c47ee3f9d5565bef6ae7fe9119"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5a4a96e2-15bc-48fa-a5c1-076d8c90cffd","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397761.5348847} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a84ce2c47ee3f9d5565bef6ae7fe9119"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a25280d-1694-4724-89be-c534d0032f59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"0a2f9942-1b01-4bf6-ab77-ed7a11041f30","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397761.7099345} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e5125b33-ae4f-43aa-82a9-1b3877b6b029","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397761.7104442} authorization_1 | {"level":"info","message":"POST /relations/update 200 180ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a84ce2c47ee3f9d5565bef6ae7fe9119"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":180}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a25280d-1694-4724-89be-c534d0032f59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a25280d-1694-4724-89be-c534d0032f59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:21.709900408Z"}]},"request_id":"9548c871-19a0-4693-96dd-0dcce3db0752","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397761.7196178} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a84ce2c47ee3f9d5565bef6ae7fe9119"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 364ms","method":"POST","requestID":"a84ce2c47ee3f9d5565bef6ae7fe9119","responseTime":364,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:09:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.373","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a84ce2c47ee3f9d5565bef6ae7fe9119"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2MX0._qWxSRO2AvLyLx9pNYJzCFas061bN66Tui1qEsnOYEc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8d11b84739edf78f3de225e6bd482235","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:21Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.705635,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:21Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397761,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2MX0._qWxSRO2AvLyLx9pNYJzCFas061bN66Tui1qEsnOYEc"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d11b84739edf78f3de225e6bd482235"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31d5d435-0959-40c8-9a12-315bfbc23460","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"aefca2a9-2fdf-411b-a7bb-e4912d272351","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397761.9034653} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d11b84739edf78f3de225e6bd482235"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c808c59a-4161-40d1-91cc-8b6038ee9d5c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397761.9114723} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d11b84739edf78f3de225e6bd482235"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31d5d435-0959-40c8-9a12-315bfbc23460","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"83428f93-82a8-469a-bca2-87e3412c8c77","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397762.0967333} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bad98b8d-7d84-44c0-b758-f4e9e2f6299d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397762.0969512} authorization_1 | {"level":"info","message":"POST /relations/update 200 189ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d11b84739edf78f3de225e6bd482235"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":189}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31d5d435-0959-40c8-9a12-315bfbc23460","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31d5d435-0959-40c8-9a12-315bfbc23460","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:22.096697516Z"}]},"request_id":"f8e6208f-8263-46f6-9513-4cdedf5a1829","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397762.1048498} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8d11b84739edf78f3de225e6bd482235"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 376ms","method":"POST","requestID":"8d11b84739edf78f3de225e6bd482235","responseTime":376,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:09: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.408","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8d11b84739edf78f3de225e6bd482235"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2Mn0.ObwuEm1U_8a_2NP6S455eK6_qaRH0n-0HWy-N_0SgCw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3e3c7dc89747d51aeeb8ebf28ce01d15","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:22Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.691815,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:22Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/31d5d435-0959-40c8-9a12-315bfbc23460","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/31d5d435-0959-40c8-9a12-315bfbc23460","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397762,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2Mn0.ObwuEm1U_8a_2NP6S455eK6_qaRH0n-0HWy-N_0SgCw"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e3c7dc89747d51aeeb8ebf28ce01d15"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31d5d435-0959-40c8-9a12-315bfbc23460","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31d5d435-0959-40c8-9a12-315bfbc23460","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:22.096697516Z"}]},"request_id":"bfa724ab-1e9a-4161-a0b6-bfe748ed1677","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397762.6067894} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e3c7dc89747d51aeeb8ebf28ce01d15"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f8e24b6-95b7-446c-8696-c95742d9f933","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397762.6133726} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e3c7dc89747d51aeeb8ebf28ce01d15"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31d5d435-0959-40c8-9a12-315bfbc23460","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31d5d435-0959-40c8-9a12-315bfbc23460","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:22.096697516Z"}]},"request_id":"799b87cb-e50f-4176-87af-67af33e25682","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397762.7795289} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3e3c7dc89747d51aeeb8ebf28ce01d15"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"PATCH /devices/31d5d435-0959-40c8-9a12-315bfbc23460 200 189ms","method":"PATCH","requestID":"3e3c7dc89747d51aeeb8ebf28ce01d15","responseTime":189,"status":200,"url":"/devices/31d5d435-0959-40c8-9a12-315bfbc23460"} gateway_1 | {"time_local":"08/Feb/2024:13:09:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/31d5d435-0959-40c8-9a12-315bfbc23460 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.194","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"3e3c7dc89747d51aeeb8ebf28ce01d15"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2Mn0.ObwuEm1U_8a_2NP6S455eK6_qaRH0n-0HWy-N_0SgCw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"259dcaca3be82cb9b88f6f571bdb810a","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:22Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.249888,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:22Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/31d5d435-0959-40c8-9a12-315bfbc23460","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/31d5d435-0959-40c8-9a12-315bfbc23460","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397762,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2Mn0.ObwuEm1U_8a_2NP6S455eK6_qaRH0n-0HWy-N_0SgCw"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"259dcaca3be82cb9b88f6f571bdb810a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:09:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/31d5d435-0959-40c8-9a12-315bfbc23460/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.175","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"259dcaca3be82cb9b88f6f571bdb810a"} device_1 | {"level":"info","message":"POST /devices/31d5d435-0959-40c8-9a12-315bfbc23460/websocket 200 169ms","method":"POST","requestID":"259dcaca3be82cb9b88f6f571bdb810a","responseTime":169,"status":200,"url":"/devices/31d5d435-0959-40c8-9a12-315bfbc23460/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/31d5d435-0959-40c8-9a12-315bfbc23460' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"87dbad99180903b3e25a5b10aa62d06f","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:09:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/6a25280d-1694-4724-89be-c534d0032f59/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":"87dbad99180903b3e25a5b10aa62d06f"} device_1 | {"level":"info","message":"OPTIONS /devices/6a25280d-1694-4724-89be-c534d0032f59/websocket 200 1ms","method":"OPTIONS","requestID":"87dbad99180903b3e25a5b10aa62d06f","responseTime":1,"status":200,"url":"/devices/6a25280d-1694-4724-89be-c534d0032f59/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2NH0.coRH4sfAASvhdjed6M-ICR9V8uWig9samygyLOHEGHE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9b58bb7ee6f81a700c76cb9a17bef3ea","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:24Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.176011,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:24Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a25280d-1694-4724-89be-c534d0032f59","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/6a25280d-1694-4724-89be-c534d0032f59","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397764,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2NH0.coRH4sfAASvhdjed6M-ICR9V8uWig9samygyLOHEGHE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9b58bb7ee6f81a700c76cb9a17bef3ea"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/6a25280d-1694-4724-89be-c534d0032f59/websocket 200 171ms","method":"POST","requestID":"9b58bb7ee6f81a700c76cb9a17bef3ea","responseTime":171,"status":200,"url":"/devices/6a25280d-1694-4724-89be-c534d0032f59/websocket"} gateway_1 | {"time_local":"08/Feb/2024:13:09:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6a25280d-1694-4724-89be-c534d0032f59/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.175","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9b58bb7ee6f81a700c76cb9a17bef3ea"} device_1 | {"level":"info","message":"device 'http://localhost/devices/6a25280d-1694-4724-89be-c534d0032f59' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2NH0.coRH4sfAASvhdjed6M-ICR9V8uWig9samygyLOHEGHE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"f478345bb66b591ed10b0830599c28a5","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:24Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.124211,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a25280d-1694-4724-89be-c534d0032f59","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/6a25280d-1694-4724-89be-c534d0032f59","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397764,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2NH0.coRH4sfAASvhdjed6M-ICR9V8uWig9samygyLOHEGHE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f478345bb66b591ed10b0830599c28a5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a25280d-1694-4724-89be-c534d0032f59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a25280d-1694-4724-89be-c534d0032f59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:21.709900408Z"}]},"request_id":"4ff2821b-cc34-478b-a5f8-53e6de6142b2","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397764.4092345} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f478345bb66b591ed10b0830599c28a5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/6a25280d-1694-4724-89be-c534d0032f59? 200 17ms","method":"GET","requestID":"f478345bb66b591ed10b0830599c28a5","responseTime":17,"status":200,"url":"/devices/6a25280d-1694-4724-89be-c534d0032f59?"} gateway_1 | {"time_local":"08/Feb/2024:13:09:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6a25280d-1694-4724-89be-c534d0032f59? 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":"f478345bb66b591ed10b0830599c28a5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2NH0.coRH4sfAASvhdjed6M-ICR9V8uWig9samygyLOHEGHE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"380d2558e646e4e44fabe8c75d3b504f","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:24Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.072535,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31d5d435-0959-40c8-9a12-315bfbc23460","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/31d5d435-0959-40c8-9a12-315bfbc23460","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397764,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2NH0.coRH4sfAASvhdjed6M-ICR9V8uWig9samygyLOHEGHE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"380d2558e646e4e44fabe8c75d3b504f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31d5d435-0959-40c8-9a12-315bfbc23460","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31d5d435-0959-40c8-9a12-315bfbc23460","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:22.096697516Z"}]},"request_id":"693173e5-5e68-4d35-bd79-7a40f80a907e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397764.4336336} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"380d2558e646e4e44fabe8c75d3b504f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/31d5d435-0959-40c8-9a12-315bfbc23460? 200 20ms","method":"GET","requestID":"380d2558e646e4e44fabe8c75d3b504f","responseTime":20,"status":200,"url":"/devices/31d5d435-0959-40c8-9a12-315bfbc23460?"} gateway_1 | {"time_local":"08/Feb/2024:13:09:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/31d5d435-0959-40c8-9a12-315bfbc23460? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"380d2558e646e4e44fabe8c75d3b504f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2NH0.coRH4sfAASvhdjed6M-ICR9V8uWig9samygyLOHEGHE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c12c4252284e47e983fe2b35dcb4fb9b","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:24Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.919039,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:24Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397764,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2NH0.coRH4sfAASvhdjed6M-ICR9V8uWig9samygyLOHEGHE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c12c4252284e47e983fe2b35dcb4fb9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:24Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.768461,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a25280d-1694-4724-89be-c534d0032f59","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/6a25280d-1694-4724-89be-c534d0032f59","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397764,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2NH0.coRH4sfAASvhdjed6M-ICR9V8uWig9samygyLOHEGHE"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48253f00-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:51534","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:24Z"} authorization_1 | {"client_addr":"127.0.0.1:51534","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.17366,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:24Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31d5d435-0959-40c8-9a12-315bfbc23460","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/31d5d435-0959-40c8-9a12-315bfbc23460","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397764,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2NH0.coRH4sfAASvhdjed6M-ICR9V8uWig9samygyLOHEGHE"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48258d20-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a25280d-1694-4724-89be-c534d0032f59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a25280d-1694-4724-89be-c534d0032f59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:21.709900408Z"}]},"request_id":"0d24f837-677f-4b3f-8dd6-2053499ef1ff","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397764.8630376} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48253f00-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31d5d435-0959-40c8-9a12-315bfbc23460","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31d5d435-0959-40c8-9a12-315bfbc23460","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:22.096697516Z"}]},"request_id":"ed86ad77-9ead-4288-a0ef-7eb118f240e3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397764.8642566} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48258d20-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/6a25280d-1694-4724-89be-c534d0032f59? 200 21ms","method":"GET","requestID":"48253f00-c683-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/6a25280d-1694-4724-89be-c534d0032f59?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/31d5d435-0959-40c8-9a12-315bfbc23460? 200 22ms","method":"GET","requestID":"48258d20-c683-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/31d5d435-0959-40c8-9a12-315bfbc23460?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:25Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.293019,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:25Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a25280d-1694-4724-89be-c534d0032f59","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/6a25280d-1694-4724-89be-c534d0032f59","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397764,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2NH0.coRH4sfAASvhdjed6M-ICR9V8uWig9samygyLOHEGHE"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48833d80-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:51534","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:25Z"} authorization_1 | {"client_addr":"127.0.0.1:51534","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.363719,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31d5d435-0959-40c8-9a12-315bfbc23460","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/31d5d435-0959-40c8-9a12-315bfbc23460","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397764,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2NH0.coRH4sfAASvhdjed6M-ICR9V8uWig9samygyLOHEGHE"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48838ba0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a25280d-1694-4724-89be-c534d0032f59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a25280d-1694-4724-89be-c534d0032f59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:21.709900408Z"}]},"request_id":"09fb58f9-1ca5-4275-95f4-6e810ecd24c9","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397765.479084} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48833d80-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31d5d435-0959-40c8-9a12-315bfbc23460","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31d5d435-0959-40c8-9a12-315bfbc23460","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:22.096697516Z"}]},"request_id":"65938201-3f36-4ce6-9cf3-5228e44255e0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397765.4797225} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48838ba0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/6a25280d-1694-4724-89be-c534d0032f59? 200 22ms","method":"GET","requestID":"48833d80-c683-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/6a25280d-1694-4724-89be-c534d0032f59?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/31d5d435-0959-40c8-9a12-315bfbc23460? 200 21ms","method":"GET","requestID":"48838ba0-c683-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/31d5d435-0959-40c8-9a12-315bfbc23460?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:25Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.02781,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:25Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a25280d-1694-4724-89be-c534d0032f59","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a25280d-1694-4724-89be-c534d0032f59","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48875c30-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/6a25280d-1694-4724-89be-c534d0032f59/signaling 200 10ms","method":"POST","requestID":"48875c30-c683-11ee-9765-47e7fd15fc3d","responseTime":10,"status":200,"url":"/devices/6a25280d-1694-4724-89be-c534d0032f59/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:25Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.689315,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:25Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/31d5d435-0959-40c8-9a12-315bfbc23460","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31d5d435-0959-40c8-9a12-315bfbc23460","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48895800-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/31d5d435-0959-40c8-9a12-315bfbc23460/signaling 200 8ms","method":"POST","requestID":"48895800-c683-11ee-9765-47e7fd15fc3d","responseTime":8,"status":200,"url":"/devices/31d5d435-0959-40c8-9a12-315bfbc23460/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"47ef30ec-4dcc-4cda-85f4-1f048f81dc6d"},{"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":"fc277b8c-c8bc-4814-9193-7697f24fcf84"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"25da7e9c-646e-4d7c-92bf-30295c56a425"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/6a25280d-1694-4724-89be-c534d0032f59"},{"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/31d5d435-0959-40c8-9a12-315bfbc23460"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:25Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.707923,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:25Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397764,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2NH0.coRH4sfAASvhdjed6M-ICR9V8uWig9samygyLOHEGHE"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"488b2cc0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5a854824-9332-467c-bb3e-cd2cbd2e1037#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5a854824-9332-467c-bb3e-cd2cbd2e1037","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"5954bc16-488b-4f10-9bb7-5aafacddf5d3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397765.661436} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"385b81c6-eef7-4398-a4ec-539da84ba3c0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397765.6617541} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"122d254e-e4a6-4d45-8576-d6e0a35400a2","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397765.66335} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d1144321-55c4-41cb-8dd2-2e0560f58df8","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397765.6638458} authorization_1 | {"level":"info","message":"POST /relations/update 200 194ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c12c4252284e47e983fe2b35dcb4fb9b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":194}} authorization_1 | {"level":"info","message":"POST /relations/update 200 142ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"488b2cc0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":142}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1230ms","method":"POST","requestID":"c12c4252284e47e983fe2b35dcb4fb9b","responseTime":1230,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:09:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"1.238","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c12c4252284e47e983fe2b35dcb4fb9b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2NX0.KXnbj5nDLQec0E09bhLxVQohPAvxRVrjbSdKDQY7-VY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c0414adad977f958a1d087391d3c6798","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:25Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.753591,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a25280d-1694-4724-89be-c534d0032f59","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/6a25280d-1694-4724-89be-c534d0032f59","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397765,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2NX0.KXnbj5nDLQec0E09bhLxVQohPAvxRVrjbSdKDQY7-VY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0414adad977f958a1d087391d3c6798"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a25280d-1694-4724-89be-c534d0032f59","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a25280d-1694-4724-89be-c534d0032f59","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:21.709900408Z"}]},"request_id":"d5f67c96-c40a-48f4-a915-9f52af358c37","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397765.6964915} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0414adad977f958a1d087391d3c6798"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 325ms","method":"POST","requestID":"488b2cc0-c683-11ee-9765-47e7fd15fc3d","responseTime":325,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:09:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6a25280d-1694-4724-89be-c534d0032f59? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0414adad977f958a1d087391d3c6798"} device_1 | {"level":"info","message":"GET /devices/6a25280d-1694-4724-89be-c534d0032f59? 200 158ms","method":"GET","requestID":"c0414adad977f958a1d087391d3c6798","responseTime":158,"status":200,"url":"/devices/6a25280d-1694-4724-89be-c534d0032f59?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2NX0.KXnbj5nDLQec0E09bhLxVQohPAvxRVrjbSdKDQY7-VY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"57c1d7fdb7f7de6b2fc2e78fad20cd5a","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:25Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.949017,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:25Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31d5d435-0959-40c8-9a12-315bfbc23460","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/31d5d435-0959-40c8-9a12-315bfbc23460","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397765,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2NX0.KXnbj5nDLQec0E09bhLxVQohPAvxRVrjbSdKDQY7-VY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"57c1d7fdb7f7de6b2fc2e78fad20cd5a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31d5d435-0959-40c8-9a12-315bfbc23460","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31d5d435-0959-40c8-9a12-315bfbc23460","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:22.096697516Z"}]},"request_id":"9310f979-786d-4d2b-bfdf-6311cc220341","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397765.8621767} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"57c1d7fdb7f7de6b2fc2e78fad20cd5a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:09:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/31d5d435-0959-40c8-9a12-315bfbc23460? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"57c1d7fdb7f7de6b2fc2e78fad20cd5a"} device_1 | {"level":"info","message":"GET /devices/31d5d435-0959-40c8-9a12-315bfbc23460? 200 14ms","method":"GET","requestID":"57c1d7fdb7f7de6b2fc2e78fad20cd5a","responseTime":14,"status":200,"url":"/devices/31d5d435-0959-40c8-9a12-315bfbc23460?"} device_1 | {"data":{"peerconnection":"59cdef04-bab1-4cb1-83ef-f9567289bc9f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"59cdef04-bab1-4cb1-83ef-f9567289bc9f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7b39d22a7d3d026b4ab024509f1b8f2e","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/6a25280d-1694-4724-89be-c534d0032f59"},{"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/31d5d435-0959-40c8-9a12-315bfbc23460"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 133ms","method":"POST","requestID":"7b39d22a7d3d026b4ab024509f1b8f2e","responseTime":133,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:09:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch","requestID":"7b39d22a7d3d026b4ab024509f1b8f2e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2Nn0.Ln7f0cCfKIQU5ht0mH0FU397HwHU0sys1dvoQFYM8Vc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"046325a609e69b487ca7646ec0a72625","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:26Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.996914,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397766,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2Nn0.Ln7f0cCfKIQU5ht0mH0FU397HwHU0sys1dvoQFYM8Vc"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"046325a609e69b487ca7646ec0a72625"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"data":{"peerconnection":"59cdef04-bab1-4cb1-83ef-f9567289bc9f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} gateway_1 | {"time_local":"08/Feb/2024:13:09:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.227","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"046325a609e69b487ca7646ec0a72625"} experiment_1 | {"level":"info","message":"GET /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037 200 223ms","method":"GET","requestID":"046325a609e69b487ca7646ec0a72625","responseTime":223,"status":200,"url":"/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} device_1 | {"data":{"peerconnection":"59cdef04-bab1-4cb1-83ef-f9567289bc9f","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2Nn0.Ln7f0cCfKIQU5ht0mH0FU397HwHU0sys1dvoQFYM8Vc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f7a89853c6d9a71e8732cf9fbd8f20d4","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:26Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.807088,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397766,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2Nn0.Ln7f0cCfKIQU5ht0mH0FU397HwHU0sys1dvoQFYM8Vc"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f7a89853c6d9a71e8732cf9fbd8f20d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} gateway_1 | {"time_local":"08/Feb/2024:13:09:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f7a89853c6d9a71e8732cf9fbd8f20d4"} experiment_1 | {"level":"info","message":"GET /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037 200 10ms","method":"GET","requestID":"f7a89853c6d9a71e8732cf9fbd8f20d4","responseTime":10,"status":200,"url":"/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2Nn0.Ln7f0cCfKIQU5ht0mH0FU397HwHU0sys1dvoQFYM8Vc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3807171fa716aae388bf4c7c32efa508","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:26Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.904921,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397766,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2Nn0.Ln7f0cCfKIQU5ht0mH0FU397HwHU0sys1dvoQFYM8Vc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3807171fa716aae388bf4c7c32efa508"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} gateway_1 | {"time_local":"08/Feb/2024:13:09:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3807171fa716aae388bf4c7c32efa508"} experiment_1 | {"level":"info","message":"GET /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037 200 16ms","method":"GET","requestID":"3807171fa716aae388bf4c7c32efa508","responseTime":16,"status":200,"url":"/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"59cdef04-bab1-4cb1-83ef-f9567289bc9f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"00de7a444e932f9c4e6e4be626a1c7b1","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/6a25280d-1694-4724-89be-c534d0032f59"},{"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/31d5d435-0959-40c8-9a12-315bfbc23460"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:26Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F59cdef04-bab1-4cb1-83ef-f9567289bc9f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d38dfb70-741c-4af9-bfac-f10a301acbec","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397766.5653183} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.67352,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"492a7a00-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2Nn0.Ln7f0cCfKIQU5ht0mH0FU397HwHU0sys1dvoQFYM8Vc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7d36a4f877f1161ce4e3797596edd30e","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:26Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.172575,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397766,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2Nn0.Ln7f0cCfKIQU5ht0mH0FU397HwHU0sys1dvoQFYM8Vc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d36a4f877f1161ce4e3797596edd30e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} gateway_1 | {"time_local":"08/Feb/2024:13:09:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d36a4f877f1161ce4e3797596edd30e"} experiment_1 | {"level":"info","message":"GET /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037 200 14ms","method":"GET","requestID":"7d36a4f877f1161ce4e3797596edd30e","responseTime":14,"status":200,"url":"/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f 200 147ms","method":"GET","requestID":"492a7a00-c683-11ee-9765-47e7fd15fc3d","responseTime":147,"status":200,"url":"/peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2Nn0.Ln7f0cCfKIQU5ht0mH0FU397HwHU0sys1dvoQFYM8Vc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1d96e14103a4fc16ae65452e738e25d9","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:26Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.098902,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:26Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397766,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2Nn0.Ln7f0cCfKIQU5ht0mH0FU397HwHU0sys1dvoQFYM8Vc"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d96e14103a4fc16ae65452e738e25d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 328ms","method":"POST","requestID":"00de7a444e932f9c4e6e4be626a1c7b1","responseTime":328,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:09:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.333","http_referrer":"","http_user_agent":"node-fetch","requestID":"00de7a444e932f9c4e6e4be626a1c7b1"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} gateway_1 | {"time_local":"08/Feb/2024:13:09:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.119","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d96e14103a4fc16ae65452e738e25d9"} experiment_1 | {"level":"info","message":"GET /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037 200 113ms","method":"GET","requestID":"1d96e14103a4fc16ae65452e738e25d9","responseTime":113,"status":200,"url":"/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2Nn0.Ln7f0cCfKIQU5ht0mH0FU397HwHU0sys1dvoQFYM8Vc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"73b1b311cff6cc7aadf5a436dcec9681","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:26Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.209947,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:26Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397766,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2Nn0.Ln7f0cCfKIQU5ht0mH0FU397HwHU0sys1dvoQFYM8Vc"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73b1b311cff6cc7aadf5a436dcec9681"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:26Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.036666,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:26Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397766,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2Nn0.Ln7f0cCfKIQU5ht0mH0FU397HwHU0sys1dvoQFYM8Vc"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4960a530-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"59cdef04-bab1-4cb1-83ef-f9567289bc9f","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"035ca25bffb13cd3d7fd72ae8018250d","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F59cdef04-bab1-4cb1-83ef-f9567289bc9f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F59cdef04-bab1-4cb1-83ef-f9567289bc9f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"904db26d-0dba-4fa2-ada9-eae50a3404b3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397766.937401} 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/6a25280d-1694-4724-89be-c534d0032f59"},{"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/31d5d435-0959-40c8-9a12-315bfbc23460"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3e1bc5120703dab444586837e2c59a78","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:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43488c48-934c-490d-8877-d82f94f65ad0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397766.9377162} 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/6a25280d-1694-4724-89be-c534d0032f59"},{"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/31d5d435-0959-40c8-9a12-315bfbc23460"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4960a530-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} device_1 | {"data":{"peerconnection":"59cdef04-bab1-4cb1-83ef-f9567289bc9f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f 204 328ms","method":"DELETE","requestID":"4960a530-c683-11ee-9765-47e7fd15fc3d","responseTime":328,"status":204,"url":"/peerconnections/59cdef04-bab1-4cb1-83ef-f9567289bc9f"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5a854824-9332-467c-bb3e-cd2cbd2e1037': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5a854824-9332-467c-bb3e-cd2cbd2e1037","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"0065a1dd-1963-4e52-a407-4121284da1f9","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397767.5803642} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ed490a31-8661-482f-94d3-cc11a3a257ae","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397767.5807283} authorization_1 | {"level":"info","message":"POST /relations/update 200 156ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"73b1b311cff6cc7aadf5a436dcec9681"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":156}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} gateway_1 | {"time_local":"08/Feb/2024:13:09:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.623","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"73b1b311cff6cc7aadf5a436dcec9681"} gateway_1 | {"time_local":"08/Feb/2024:13:09:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1678","request_time":"5.553","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"bd2e794e2d62855baeec5d0eaddc68df"} experiment_1 | {"level":"info","message":"DELETE /experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037 204 1622ms","method":"DELETE","requestID":"73b1b311cff6cc7aadf5a436dcec9681","responseTime":1622,"status":204,"url":"/experiments/5a854824-9332-467c-bb3e-cd2cbd2e1037"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1587ms","method":"POST","requestID":"035ca25bffb13cd3d7fd72ae8018250d","responseTime":1587,"status":200,"url":"/callbacks/experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2OH0.iwRm7iTT6RA_9W92y625PvJ1qZj3oU8_NVLOF0g6O0Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5ed5618594962f7949b4257bedc869e7","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1589ms","method":"POST","requestID":"3e1bc5120703dab444586837e2c59a78","responseTime":1589,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:09:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.595","http_referrer":"","http_user_agent":"node-fetch","requestID":"035ca25bffb13cd3d7fd72ae8018250d"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"08/Feb/2024:13:09:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.593","http_referrer":"","http_user_agent":"node-fetch","requestID":"3e1bc5120703dab444586837e2c59a78"} gateway_1 | {"time_local":"08/Feb/2024:13:09:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1762","request_time":"4.316","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b9d02f2ea2bd1fdc04307b624a9fbc36"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:28Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.713164,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:28Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397768,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2OH0.iwRm7iTT6RA_9W92y625PvJ1qZj3oU8_NVLOF0g6O0Y"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ed5618594962f7949b4257bedc869e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/31d5d435-0959-40c8-9a12-315bfbc23460' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0080dfc-1787-4a5a-94ac-e999dd70f683","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9eb8bd0d-42d3-4999-a4a7-a01259beb730","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397768.9387324} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ed5618594962f7949b4257bedc869e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"09291ba5-2620-492c-b2a8-37681585f519","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397768.9465282} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ed5618594962f7949b4257bedc869e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6a25280d-1694-4724-89be-c534d0032f59' closed"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0080dfc-1787-4a5a-94ac-e999dd70f683","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"c14175b1-7b4d-4ffc-8aa5-4b330abc2999","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397769.2209296} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b512a08c-530a-465d-a552-269a016d6779","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397769.2211518} authorization_1 | {"level":"info","message":"POST /relations/update 200 278ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ed5618594962f7949b4257bedc869e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":278}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0080dfc-1787-4a5a-94ac-e999dd70f683","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0080dfc-1787-4a5a-94ac-e999dd70f683","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:29.220901436Z"}]},"request_id":"5d4ef452-2c91-4b74-a1f8-5da58a86c84c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397769.228495} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5ed5618594962f7949b4257bedc869e7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 701ms","method":"POST","requestID":"5ed5618594962f7949b4257bedc869e7","responseTime":701,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:09:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.715","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ed5618594962f7949b4257bedc869e7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2OX0.sSKj8Rdt7sX9WcyPF7RuGpblRwSA1ctvW3X1xHIyvFo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c13aaddd3742d41a36650947f7bbc7d7","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:29Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.177339,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:29Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397769,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc2OX0.sSKj8Rdt7sX9WcyPF7RuGpblRwSA1ctvW3X1xHIyvFo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c13aaddd3742d41a36650947f7bbc7d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf20179a-f596-4baa-8ba3-dbc0c5288ee8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"84f8d0cb-1466-4779-a1dc-2d57706e05cc","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397769.413772} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c13aaddd3742d41a36650947f7bbc7d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"adc5d1b0-5e23-48c9-a4c9-f6943f4a91bd","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397769.4217288} authorization_1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c13aaddd3742d41a36650947f7bbc7d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf20179a-f596-4baa-8ba3-dbc0c5288ee8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"11aab8d0-933a-45d4-b5e3-d604ffde4d29","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397769.6139164} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c748eb83-75d8-4485-be40-d71ea4e0be6d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397769.614155} authorization_1 | {"level":"info","message":"POST /relations/update 200 198ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c13aaddd3742d41a36650947f7bbc7d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":198}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf20179a-f596-4baa-8ba3-dbc0c5288ee8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf20179a-f596-4baa-8ba3-dbc0c5288ee8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:29.613890056Z"}]},"request_id":"ce709faf-9e75-4c9f-90ad-bc6c9dd59728","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397769.6242304} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c13aaddd3742d41a36650947f7bbc7d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 385ms","method":"POST","requestID":"c13aaddd3742d41a36650947f7bbc7d7","responseTime":385,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:09:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.414","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c13aaddd3742d41a36650947f7bbc7d7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3MH0.QRjuZXghPUd9oUkFNXaw9fBo3ZFo7X8jUGv4O3KJUTc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f8a6925e4db3624cc19044a203f75043","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:30Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.061162,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:30Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397770,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3MH0.QRjuZXghPUd9oUkFNXaw9fBo3ZFo7X8jUGv4O3KJUTc"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8a6925e4db3624cc19044a203f75043"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf20179a-f596-4baa-8ba3-dbc0c5288ee8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf20179a-f596-4baa-8ba3-dbc0c5288ee8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:29.613890056Z"}]},"request_id":"32275e83-2027-4bd7-9790-3441dee4081f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397770.1087627} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8a6925e4db3624cc19044a203f75043"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ac9738a-6370-4c3d-929b-fc561a02bbee","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397770.116307} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8a6925e4db3624cc19044a203f75043"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf20179a-f596-4baa-8ba3-dbc0c5288ee8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf20179a-f596-4baa-8ba3-dbc0c5288ee8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:29.613890056Z"}]},"request_id":"9f80a4a8-0340-4a4b-93eb-0a8afdbd1006","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397770.2904286} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f8a6925e4db3624cc19044a203f75043"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:09:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.203","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"f8a6925e4db3624cc19044a203f75043"} device_1 | {"level":"info","message":"PATCH /devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8 200 198ms","method":"PATCH","requestID":"f8a6925e4db3624cc19044a203f75043","responseTime":198,"status":200,"url":"/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3MH0.QRjuZXghPUd9oUkFNXaw9fBo3ZFo7X8jUGv4O3KJUTc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"21a1b1463b0aec30645aaff306c346d5","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:30Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.18227,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:30Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397770,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3MH0.QRjuZXghPUd9oUkFNXaw9fBo3ZFo7X8jUGv4O3KJUTc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"21a1b1463b0aec30645aaff306c346d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:09:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.175","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"21a1b1463b0aec30645aaff306c346d5"} device_1 | {"level":"info","message":"POST /devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8/websocket 200 170ms","method":"POST","requestID":"21a1b1463b0aec30645aaff306c346d5","responseTime":170,"status":200,"url":"/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"bed7d4898543dc317598240dbb3cbacf","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:09:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b0080dfc-1787-4a5a-94ac-e999dd70f683/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":"bed7d4898543dc317598240dbb3cbacf"} device_1 | {"level":"info","message":"OPTIONS /devices/b0080dfc-1787-4a5a-94ac-e999dd70f683/websocket 200 2ms","method":"OPTIONS","requestID":"bed7d4898543dc317598240dbb3cbacf","responseTime":2,"status":200,"url":"/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3MX0.j5sXLphOAzOhzUUQrN862CBOWkro8Z3s90Il1Bo2G7M","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a743e20dcf663b6e95911a658fb34bf2","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:31Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.188062,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:31Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397771,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3MX0.j5sXLphOAzOhzUUQrN862CBOWkro8Z3s90Il1Bo2G7M"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a743e20dcf663b6e95911a658fb34bf2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:09:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b0080dfc-1787-4a5a-94ac-e999dd70f683/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.207","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a743e20dcf663b6e95911a658fb34bf2"} device_1 | {"level":"info","message":"POST /devices/b0080dfc-1787-4a5a-94ac-e999dd70f683/websocket 200 201ms","method":"POST","requestID":"a743e20dcf663b6e95911a658fb34bf2","responseTime":201,"status":200,"url":"/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3MX0.j5sXLphOAzOhzUUQrN862CBOWkro8Z3s90Il1Bo2G7M","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d8d97ca375784a9da42aec668b268aff","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:31Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764189,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397771,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3MX0.j5sXLphOAzOhzUUQrN862CBOWkro8Z3s90Il1Bo2G7M"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d8d97ca375784a9da42aec668b268aff"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0080dfc-1787-4a5a-94ac-e999dd70f683","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0080dfc-1787-4a5a-94ac-e999dd70f683","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:29.220901436Z"}]},"request_id":"7d374c1f-5595-483f-926e-c717570e5894","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397771.951114} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d8d97ca375784a9da42aec668b268aff"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:09:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b0080dfc-1787-4a5a-94ac-e999dd70f683? 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":"d8d97ca375784a9da42aec668b268aff"} device_1 | {"level":"info","message":"GET /devices/b0080dfc-1787-4a5a-94ac-e999dd70f683? 200 15ms","method":"GET","requestID":"d8d97ca375784a9da42aec668b268aff","responseTime":15,"status":200,"url":"/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3MX0.j5sXLphOAzOhzUUQrN862CBOWkro8Z3s90Il1Bo2G7M","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fa22556eb1084ef310fe02ba92cc31d1","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:31Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.14583,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:31Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397771,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3MX0.j5sXLphOAzOhzUUQrN862CBOWkro8Z3s90Il1Bo2G7M"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa22556eb1084ef310fe02ba92cc31d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf20179a-f596-4baa-8ba3-dbc0c5288ee8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf20179a-f596-4baa-8ba3-dbc0c5288ee8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:29.613890056Z"}]},"request_id":"17b76cea-d429-492b-868d-738fd09e3c64","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397771.9696207} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa22556eb1084ef310fe02ba92cc31d1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:09:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa22556eb1084ef310fe02ba92cc31d1"} device_1 | {"level":"info","message":"GET /devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8? 200 14ms","method":"GET","requestID":"fa22556eb1084ef310fe02ba92cc31d1","responseTime":14,"status":200,"url":"/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3MX0.j5sXLphOAzOhzUUQrN862CBOWkro8Z3s90Il1Bo2G7M","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ba29c6d89121697a579f23fd81c2451f","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:31Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.226682,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397771,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3MX0.j5sXLphOAzOhzUUQrN862CBOWkro8Z3s90Il1Bo2G7M"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba29c6d89121697a579f23fd81c2451f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:32Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.118902,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397771,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3MX0.j5sXLphOAzOhzUUQrN862CBOWkro8Z3s90Il1Bo2G7M"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4c96a2e0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:43390","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:32Z"} authorization_1 | {"client_addr":"127.0.0.1:43390","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.409981,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397771,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3MX0.j5sXLphOAzOhzUUQrN862CBOWkro8Z3s90Il1Bo2G7M"} authorization_1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4c96f100-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0080dfc-1787-4a5a-94ac-e999dd70f683","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0080dfc-1787-4a5a-94ac-e999dd70f683","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:29.220901436Z"}]},"request_id":"416bcf9d-5113-44dc-9699-87f770982378","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397772.3157487} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4c96a2e0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf20179a-f596-4baa-8ba3-dbc0c5288ee8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf20179a-f596-4baa-8ba3-dbc0c5288ee8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:29.613890056Z"}]},"request_id":"1e0c4785-95cb-498a-8725-30db721d0aae","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397772.3198693} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4c96f100-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b0080dfc-1787-4a5a-94ac-e999dd70f683? 200 19ms","method":"GET","requestID":"4c96a2e0-c683-11ee-9765-47e7fd15fc3d","responseTime":19,"status":200,"url":"/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8? 200 21ms","method":"GET","requestID":"4c96f100-c683-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:32Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.134183,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:32Z"} authorization_1 | {"client_addr":"127.0.0.1:43390","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397771,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3MX0.j5sXLphOAzOhzUUQrN862CBOWkro8Z3s90Il1Bo2G7M"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ce36350-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:43390","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.663466,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:32Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397771,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3MX0.j5sXLphOAzOhzUUQrN862CBOWkro8Z3s90Il1Bo2G7M"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ce3b170-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0080dfc-1787-4a5a-94ac-e999dd70f683","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0080dfc-1787-4a5a-94ac-e999dd70f683","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:29.220901436Z"}]},"request_id":"76f5d2d4-29b2-4404-b3ea-c3679ec620e6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397772.8189204} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ce36350-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf20179a-f596-4baa-8ba3-dbc0c5288ee8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf20179a-f596-4baa-8ba3-dbc0c5288ee8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:29.613890056Z"}]},"request_id":"98814f0b-9ca2-4dcb-8ab4-c3607198cbd8","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397772.8196006} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ce3b170-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b0080dfc-1787-4a5a-94ac-e999dd70f683? 200 21ms","method":"GET","requestID":"4ce36350-c683-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8? 200 20ms","method":"GET","requestID":"4ce3b170-c683-11ee-9765-47e7fd15fc3d","responseTime":20,"status":200,"url":"/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:32Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.816047,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:32Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ce70cd0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/b0080dfc-1787-4a5a-94ac-e999dd70f683/signaling 200 9ms","method":"POST","requestID":"4ce70cd0-c683-11ee-9765-47e7fd15fc3d","responseTime":9,"status":200,"url":"/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:32Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.998852,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:32Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ce8e190-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8/signaling 200 8ms","method":"POST","requestID":"4ce8e190-c683-11ee-9765-47e7fd15fc3d","responseTime":8,"status":200,"url":"/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"451ebb3d-312a-4b71-aa01-fca3ac72b2d2"},{"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":"a01e7bd2-d4fb-48b4-920c-4c2c64890de9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"dc482320-3125-43bc-bd4f-3b1fa61c52a3"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683"},{"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/bf20179a-f596-4baa-8ba3-dbc0c5288ee8"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:32Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.965501,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397771,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3MX0.j5sXLphOAzOhzUUQrN862CBOWkro8Z3s90Il1Bo2G7M"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ceab650-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F494156dc-9f91-4ff2-a6ef-a7fc39ade5e7#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F494156dc-9f91-4ff2-a6ef-a7fc39ade5e7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"97a70ce2-8927-4ea2-ab1e-53182d8131a7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397772.997296} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"843a847e-1788-4668-bfa5-0fac0be984ef","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397772.997577} authorization_1 | {"level":"info","message":"POST /relations/update 200 185ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba29c6d89121697a579f23fd81c2451f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":185}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"63a1645d-d88e-4346-ab10-515fb9548f29","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397772.9991019} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee92da50-ec95-4867-8012-8813cbed10e0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397772.999608} authorization_1 | {"level":"info","message":"POST /relations/update 200 141ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ceab650-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":141}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1030ms","method":"POST","requestID":"ba29c6d89121697a579f23fd81c2451f","responseTime":1030,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:09:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"1.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ba29c6d89121697a579f23fd81c2451f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3M30.09argHDIKMjMV5jCRPnk9i4NWlTh2Tinrff0KStUc6E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"17b63952582f8b4702d70a46a04b34d3","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:33Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.973498,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397773,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3M30.09argHDIKMjMV5jCRPnk9i4NWlTh2Tinrff0KStUc6E"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17b63952582f8b4702d70a46a04b34d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0080dfc-1787-4a5a-94ac-e999dd70f683","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0080dfc-1787-4a5a-94ac-e999dd70f683","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:29.220901436Z"}]},"request_id":"4964e25b-1f5c-41e5-b46d-0c976ca4ba84","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397773.0291753} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"17b63952582f8b4702d70a46a04b34d3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 322ms","method":"POST","requestID":"4ceab650-c683-11ee-9765-47e7fd15fc3d","responseTime":322,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:09:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b0080dfc-1787-4a5a-94ac-e999dd70f683? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.164","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"17b63952582f8b4702d70a46a04b34d3"} device_1 | {"level":"info","message":"GET /devices/b0080dfc-1787-4a5a-94ac-e999dd70f683? 200 158ms","method":"GET","requestID":"17b63952582f8b4702d70a46a04b34d3","responseTime":158,"status":200,"url":"/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3M30.09argHDIKMjMV5jCRPnk9i4NWlTh2Tinrff0KStUc6E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b0eae262b690640f73387d80f00a9a54","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:33Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":5.249381,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397773,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3M30.09argHDIKMjMV5jCRPnk9i4NWlTh2Tinrff0KStUc6E"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0eae262b690640f73387d80f00a9a54"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf20179a-f596-4baa-8ba3-dbc0c5288ee8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbf20179a-f596-4baa-8ba3-dbc0c5288ee8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:29.613890056Z"}]},"request_id":"59f07143-38f5-4208-aac6-800130019c65","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397773.2020917} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b0eae262b690640f73387d80f00a9a54"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:09:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b0eae262b690640f73387d80f00a9a54"} device_1 | {"level":"info","message":"GET /devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8? 200 18ms","method":"GET","requestID":"b0eae262b690640f73387d80f00a9a54","responseTime":18,"status":200,"url":"/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8?"} device_1 | {"data":{"peerconnection":"afac0d2a-03c5-4826-8651-51aff20bc03e","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"afac0d2a-03c5-4826-8651-51aff20bc03e","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"813e0ee61a516d26433b1a5a0938f4d8","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/b0080dfc-1787-4a5a-94ac-e999dd70f683"},{"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/bf20179a-f596-4baa-8ba3-dbc0c5288ee8"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 142ms","method":"POST","requestID":"813e0ee61a516d26433b1a5a0938f4d8","responseTime":142,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:09:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.146","http_referrer":"","http_user_agent":"node-fetch","requestID":"813e0ee61a516d26433b1a5a0938f4d8"} device_1 | {"data":{"peerconnection":"afac0d2a-03c5-4826-8651-51aff20bc03e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"},"level":"info","message":"Successfully created peerconnections for experiment"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3M30.09argHDIKMjMV5jCRPnk9i4NWlTh2Tinrff0KStUc6E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"d6578abcde4c7358703a6876ce2aac34","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:33Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.901832,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397773,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3M30.09argHDIKMjMV5jCRPnk9i4NWlTh2Tinrff0KStUc6E"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d6578abcde4c7358703a6876ce2aac34"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} gateway_1 | {"time_local":"08/Feb/2024:13:09:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d6578abcde4c7358703a6876ce2aac34"} experiment_1 | {"level":"info","message":"GET /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7 200 15ms","method":"GET","requestID":"d6578abcde4c7358703a6876ce2aac34","responseTime":15,"status":200,"url":"/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} device_1 | {"data":{"peerconnection":"afac0d2a-03c5-4826-8651-51aff20bc03e","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3M30.09argHDIKMjMV5jCRPnk9i4NWlTh2Tinrff0KStUc6E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"57feb0e8b890d7c9b7ea870b4a079e96","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:33Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.37006,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397773,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3M30.09argHDIKMjMV5jCRPnk9i4NWlTh2Tinrff0KStUc6E"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"57feb0e8b890d7c9b7ea870b4a079e96"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} experiment_1 | {"level":"info","message":"GET /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7 200 15ms","method":"GET","requestID":"57feb0e8b890d7c9b7ea870b4a079e96","responseTime":15,"status":200,"url":"/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} gateway_1 | {"time_local":"08/Feb/2024:13:09:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"57feb0e8b890d7c9b7ea870b4a079e96"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3M30.09argHDIKMjMV5jCRPnk9i4NWlTh2Tinrff0KStUc6E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"45e6d5819df0f67dc9080ff5ce0f235b","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"afac0d2a-03c5-4826-8651-51aff20bc03e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7d8d6065f269a246bd6b829124b9606d","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/b0080dfc-1787-4a5a-94ac-e999dd70f683"},{"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/bf20179a-f596-4baa-8ba3-dbc0c5288ee8"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e"}}},"level":"info","message":"received a callback"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:33Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.250298,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397773,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3M30.09argHDIKMjMV5jCRPnk9i4NWlTh2Tinrff0KStUc6E"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45e6d5819df0f67dc9080ff5ce0f235b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:33Z"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} gateway_1 | {"time_local":"08/Feb/2024:13:09:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"45e6d5819df0f67dc9080ff5ce0f235b"} experiment_1 | {"level":"info","message":"GET /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7 200 19ms","method":"GET","requestID":"45e6d5819df0f67dc9080ff5ce0f235b","responseTime":19,"status":200,"url":"/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fafac0d2a-03c5-4826-8651-51aff20bc03e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"38c35a46-5df9-498c-a846-18ea2523e4d6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397773.9207923} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.091344,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d8c9ba0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3NH0.XbQPdGFTeOb3qSwlZFdvmJGMckScyl2c_qKUOEVKCB8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e50e755803a1508bc6b746f4eb4ea3e9","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:34Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.508282,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397774,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3NH0.XbQPdGFTeOb3qSwlZFdvmJGMckScyl2c_qKUOEVKCB8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e50e755803a1508bc6b746f4eb4ea3e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} gateway_1 | {"time_local":"08/Feb/2024:13:09:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e50e755803a1508bc6b746f4eb4ea3e9"} experiment_1 | {"level":"info","message":"GET /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7 200 17ms","method":"GET","requestID":"e50e755803a1508bc6b746f4eb4ea3e9","responseTime":17,"status":200,"url":"/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e 200 145ms","method":"GET","requestID":"4d8c9ba0-c683-11ee-9765-47e7fd15fc3d","responseTime":145,"status":200,"url":"/peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3NH0.XbQPdGFTeOb3qSwlZFdvmJGMckScyl2c_qKUOEVKCB8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"89a7bc7a33baa4e8b6db828df1e63c13","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:34Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.274469,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397774,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3NH0.XbQPdGFTeOb3qSwlZFdvmJGMckScyl2c_qKUOEVKCB8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89a7bc7a33baa4e8b6db828df1e63c13"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 321ms","method":"POST","requestID":"7d8d6065f269a246bd6b829124b9606d","responseTime":321,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:09:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.324","http_referrer":"","http_user_agent":"node-fetch","requestID":"7d8d6065f269a246bd6b829124b9606d"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} gateway_1 | {"time_local":"08/Feb/2024:13:09:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89a7bc7a33baa4e8b6db828df1e63c13"} experiment_1 | {"level":"info","message":"GET /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7 200 77ms","method":"GET","requestID":"89a7bc7a33baa4e8b6db828df1e63c13","responseTime":77,"status":200,"url":"/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3NH0.XbQPdGFTeOb3qSwlZFdvmJGMckScyl2c_qKUOEVKCB8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d02221420e9cfa0d03b6cd4ea4105c8a","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:34Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.168531,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:34Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397774,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3NH0.XbQPdGFTeOb3qSwlZFdvmJGMckScyl2c_qKUOEVKCB8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d02221420e9cfa0d03b6cd4ea4105c8a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:34Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.266838,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:34Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397774,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3NH0.XbQPdGFTeOb3qSwlZFdvmJGMckScyl2c_qKUOEVKCB8"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4dc0f210-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"afac0d2a-03c5-4826-8651-51aff20bc03e","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a699542680c9e4b0925ce0518051e9cf","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/b0080dfc-1787-4a5a-94ac-e999dd70f683"},{"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/bf20179a-f596-4baa-8ba3-dbc0c5288ee8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f0ccb8df293e483dd0474b2dd53c2dc0","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/b0080dfc-1787-4a5a-94ac-e999dd70f683"},{"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/bf20179a-f596-4baa-8ba3-dbc0c5288ee8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fafac0d2a-03c5-4826-8651-51aff20bc03e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fafac0d2a-03c5-4826-8651-51aff20bc03e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"a8c463ce-72f3-411d-b37c-b844fa4f35e9","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397774.2857435} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42a56e61-f4ab-4608-ab3f-2065cb80a1e6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397774.2859693} authorization_1 | {"level":"info","message":"POST /relations/update 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4dc0f210-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":12}} device_1 | {"data":{"peerconnection":"afac0d2a-03c5-4826-8651-51aff20bc03e","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e 204 330ms","method":"DELETE","requestID":"4dc0f210-c683-11ee-9765-47e7fd15fc3d","responseTime":330,"status":204,"url":"/peerconnections/afac0d2a-03c5-4826-8651-51aff20bc03e"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F494156dc-9f91-4ff2-a6ef-a7fc39ade5e7': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F494156dc-9f91-4ff2-a6ef-a7fc39ade5e7","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"e92d280c-9ddf-4141-b7cc-3dc6abb82981","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397774.9245625} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5307553b-e911-4748-8043-4622a56ef900","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397774.9250498} authorization_1 | {"level":"info","message":"POST /relations/update 200 173ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d02221420e9cfa0d03b6cd4ea4105c8a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":173}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} gateway_1 | {"time_local":"08/Feb/2024:13:09:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.624","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d02221420e9cfa0d03b6cd4ea4105c8a"} gateway_1 | {"time_local":"08/Feb/2024:13:09:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1678","request_time":"5.386","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"3458d643a8806ce94a9694072e666b0f"} experiment_1 | {"level":"info","message":"DELETE /experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7 204 1619ms","method":"DELETE","requestID":"d02221420e9cfa0d03b6cd4ea4105c8a","responseTime":1619,"status":204,"url":"/experiments/494156dc-9f91-4ff2-a6ef-a7fc39ade5e7"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1582ms","method":"POST","requestID":"a699542680c9e4b0925ce0518051e9cf","responseTime":1582,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:09: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":"1.585","http_referrer":"","http_user_agent":"node-fetch","requestID":"a699542680c9e4b0925ce0518051e9cf"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1585ms","method":"POST","requestID":"f0ccb8df293e483dd0474b2dd53c2dc0","responseTime":1585,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:09: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":"1.589","http_referrer":"","http_user_agent":"node-fetch","requestID":"f0ccb8df293e483dd0474b2dd53c2dc0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3NX0.1qp4llOFQxNQX-GSUeEQAebYgavdSEB9iUbPyE71Df0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c85489398b176b6ef7469bb6d97bdcec","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"08/Feb/2024:13:09:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1762","request_time":"4.111","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b3eeaeec4d69252e7849163fade7cfe1"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:35Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.798043,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:35Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397775,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3NX0.1qp4llOFQxNQX-GSUeEQAebYgavdSEB9iUbPyE71Df0"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c85489398b176b6ef7469bb6d97bdcec"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b08bc328-b2b4-4dc5-a1c3-82e85767e947","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397776.308354} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c85489398b176b6ef7469bb6d97bdcec"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd0ce86f-5ef2-4c5d-ad30-0d438a5a7b23","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397776.3167229} authorization_1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c85489398b176b6ef7469bb6d97bdcec"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683' closed"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"43da093d-3eb5-4fc5-908c-1cbc46508d14","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397776.680533} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"955cf15e-dec0-4b76-a325-9a95d26125de","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397776.6809285} authorization_1 | {"level":"info","message":"POST /relations/update 200 368ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c85489398b176b6ef7469bb6d97bdcec"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":368}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:36.680503837Z"}]},"request_id":"6a555c4e-937d-4aa6-ad8b-fae85950af10","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397776.688953} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c85489398b176b6ef7469bb6d97bdcec"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 821ms","method":"POST","requestID":"c85489398b176b6ef7469bb6d97bdcec","responseTime":821,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:09: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.830","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c85489398b176b6ef7469bb6d97bdcec"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3Nn0.venCVJ75BCPgMeRuAGWQ-8BAYqegfULwZqKC2qHRzNE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"239c5fb85702c7405503e7e028ac6489","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:36Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.189811,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:36Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397776,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3Nn0.venCVJ75BCPgMeRuAGWQ-8BAYqegfULwZqKC2qHRzNE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"239c5fb85702c7405503e7e028ac6489"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62f2159d-fa67-4509-93cf-e20c0a1745d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"abc549db-ebec-4c72-bfbc-8d614dac082d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397776.8654163} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"239c5fb85702c7405503e7e028ac6489"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4f206d9-84e3-40a3-88bd-12c2bd4d90a9","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397776.8734097} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"239c5fb85702c7405503e7e028ac6489"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62f2159d-fa67-4509-93cf-e20c0a1745d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"bdeb3c17-1085-4ede-ae21-1f3543f6e68c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397777.0494974} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"485b8fc0-5d05-41f0-98c5-6f34e54e9cec","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397777.0501258} authorization_1 | {"level":"info","message":"POST /relations/update 200 181ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"239c5fb85702c7405503e7e028ac6489"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":181}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62f2159d-fa67-4509-93cf-e20c0a1745d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62f2159d-fa67-4509-93cf-e20c0a1745d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:37.049458839Z"}]},"request_id":"502e13ca-a263-440e-b167-d20671dc3705","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397777.0587223} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"239c5fb85702c7405503e7e028ac6489"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 360ms","method":"POST","requestID":"239c5fb85702c7405503e7e028ac6489","responseTime":360,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:09:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.392","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"239c5fb85702c7405503e7e028ac6489"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3N30.XU51dUwrc05LSPsMIAwWpdQ-VKWSWmsv1iB_nyIcfr4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"48508d9ceccf161bd96eb0e0dc797f1f","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:37Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.950182,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:37Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397777,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3N30.XU51dUwrc05LSPsMIAwWpdQ-VKWSWmsv1iB_nyIcfr4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48508d9ceccf161bd96eb0e0dc797f1f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:36.680503837Z"}]},"request_id":"8e6ff0e8-f5a4-4fa5-83a6-405d1dbd62ba","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397777.5420861} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48508d9ceccf161bd96eb0e0dc797f1f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01616623-5478-4d91-be55-ea56878016a7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397777.5494163} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48508d9ceccf161bd96eb0e0dc797f1f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:36.680503837Z"}]},"request_id":"7a5b6156-aa6c-41a4-8292-1bd06d1535b7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397777.7278473} authorization_1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"48508d9ceccf161bd96eb0e0dc797f1f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:09:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.208","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"48508d9ceccf161bd96eb0e0dc797f1f"} device_1 | {"level":"info","message":"PATCH /devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0 200 203ms","method":"PATCH","requestID":"48508d9ceccf161bd96eb0e0dc797f1f","responseTime":203,"status":200,"url":"/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3N30.XU51dUwrc05LSPsMIAwWpdQ-VKWSWmsv1iB_nyIcfr4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5aa2a07ecc60efa8198b58c2d3b5bdbc","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:37Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.017659,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:37Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397777,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3N30.XU51dUwrc05LSPsMIAwWpdQ-VKWSWmsv1iB_nyIcfr4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5aa2a07ecc60efa8198b58c2d3b5bdbc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:09:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.164","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"5aa2a07ecc60efa8198b58c2d3b5bdbc"} device_1 | {"level":"info","message":"POST /devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0/websocket 200 159ms","method":"POST","requestID":"5aa2a07ecc60efa8198b58c2d3b5bdbc","responseTime":159,"status":200,"url":"/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"50379b171e6b6df7f2a9d84deab36a4f","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:09:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/62f2159d-fa67-4509-93cf-e20c0a1745d5/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":"50379b171e6b6df7f2a9d84deab36a4f"} device_1 | {"level":"info","message":"OPTIONS /devices/62f2159d-fa67-4509-93cf-e20c0a1745d5/websocket 200 1ms","method":"OPTIONS","requestID":"50379b171e6b6df7f2a9d84deab36a4f","responseTime":1,"status":200,"url":"/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3OX0.XHC-8RRCRBDopVizXh2vWVgrbOk3yCmheZj2mp0huEI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2024f21121fcb95cd1baa4eaed42af45","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:39Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.985159,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:39Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397779,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3OX0.XHC-8RRCRBDopVizXh2vWVgrbOk3yCmheZj2mp0huEI"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2024f21121fcb95cd1baa4eaed42af45"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:09:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/62f2159d-fa67-4509-93cf-e20c0a1745d5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.173","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2024f21121fcb95cd1baa4eaed42af45"} device_1 | {"level":"info","message":"POST /devices/62f2159d-fa67-4509-93cf-e20c0a1745d5/websocket 200 168ms","method":"POST","requestID":"2024f21121fcb95cd1baa4eaed42af45","responseTime":168,"status":200,"url":"/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3OX0.XHC-8RRCRBDopVizXh2vWVgrbOk3yCmheZj2mp0huEI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3aa2e059490df2c22ecaf5eb7d0b7871","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:39Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.566828,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397779,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3OX0.XHC-8RRCRBDopVizXh2vWVgrbOk3yCmheZj2mp0huEI"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3aa2e059490df2c22ecaf5eb7d0b7871"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:36.680503837Z"}]},"request_id":"afcfd0e7-8d28-40d8-88d2-413064ff3626","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397779.3618314} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3aa2e059490df2c22ecaf5eb7d0b7871"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:09:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3aa2e059490df2c22ecaf5eb7d0b7871"} device_1 | {"level":"info","message":"GET /devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0? 200 16ms","method":"GET","requestID":"3aa2e059490df2c22ecaf5eb7d0b7871","responseTime":16,"status":200,"url":"/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3OX0.XHC-8RRCRBDopVizXh2vWVgrbOk3yCmheZj2mp0huEI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ad61930d77bc0ef39f61bbb3f28b95b2","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:39Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.113704,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397779,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3OX0.XHC-8RRCRBDopVizXh2vWVgrbOk3yCmheZj2mp0huEI"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad61930d77bc0ef39f61bbb3f28b95b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62f2159d-fa67-4509-93cf-e20c0a1745d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62f2159d-fa67-4509-93cf-e20c0a1745d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:37.049458839Z"}]},"request_id":"3cfd03ad-76d3-4eea-abea-0c848a476481","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397779.3848555} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad61930d77bc0ef39f61bbb3f28b95b2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:09:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/62f2159d-fa67-4509-93cf-e20c0a1745d5? 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":"ad61930d77bc0ef39f61bbb3f28b95b2"} device_1 | {"level":"info","message":"GET /devices/62f2159d-fa67-4509-93cf-e20c0a1745d5? 200 17ms","method":"GET","requestID":"ad61930d77bc0ef39f61bbb3f28b95b2","responseTime":17,"status":200,"url":"/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3OX0.XHC-8RRCRBDopVizXh2vWVgrbOk3yCmheZj2mp0huEI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b22eb24e3962aa2b1a32b547b5033067","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:39Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.855594,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:39Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397779,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3OX0.XHC-8RRCRBDopVizXh2vWVgrbOk3yCmheZj2mp0huEI"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b22eb24e3962aa2b1a32b547b5033067"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:39Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.822685,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397779,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3OX0.XHC-8RRCRBDopVizXh2vWVgrbOk3yCmheZj2mp0huEI"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51063200-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:34582","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:39Z"} authorization_1 | {"client_addr":"127.0.0.1:34582","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.983099,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:39Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397779,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3OX0.XHC-8RRCRBDopVizXh2vWVgrbOk3yCmheZj2mp0huEI"} authorization_1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51068020-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:36.680503837Z"}]},"request_id":"64bd567f-25b4-474e-95e3-90d18df82fa7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397779.758721} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51063200-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62f2159d-fa67-4509-93cf-e20c0a1745d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62f2159d-fa67-4509-93cf-e20c0a1745d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:37.049458839Z"}]},"request_id":"2aed8cd6-fb48-42be-8a75-afc88c28ec97","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397779.7644055} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51068020-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"GET /devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0? 200 21ms","method":"GET","requestID":"51063200-c683-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/62f2159d-fa67-4509-93cf-e20c0a1745d5? 200 22ms","method":"GET","requestID":"51068020-c683-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:40Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.499231,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397779,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3OX0.XHC-8RRCRBDopVizXh2vWVgrbOk3yCmheZj2mp0huEI"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"515d79c0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:34582","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:40Z"} authorization_1 | {"client_addr":"127.0.0.1:34582","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.850353,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397779,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3OX0.XHC-8RRCRBDopVizXh2vWVgrbOk3yCmheZj2mp0huEI"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"515deef0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:36.680503837Z"}]},"request_id":"a2e0aacd-a785-40a1-b95f-1755300d4b4a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397780.3313904} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"515d79c0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62f2159d-fa67-4509-93cf-e20c0a1745d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62f2159d-fa67-4509-93cf-e20c0a1745d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:37.049458839Z"}]},"request_id":"a4c29582-0903-48ef-9de3-ee00d9e28933","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397780.3327823} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"515deef0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0? 200 24ms","method":"GET","requestID":"515d79c0-c683-11ee-9765-47e7fd15fc3d","responseTime":24,"status":200,"url":"/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/62f2159d-fa67-4509-93cf-e20c0a1745d5? 200 22ms","method":"GET","requestID":"515deef0-c683-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:40Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.04647,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:40Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51619870-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0/signaling 200 8ms","method":"POST","requestID":"51619870-c683-11ee-9765-47e7fd15fc3d","responseTime":8,"status":200,"url":"/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:40Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.85986,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:40Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51634620-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/62f2159d-fa67-4509-93cf-e20c0a1745d5/signaling 200 10ms","method":"POST","requestID":"51634620-c683-11ee-9765-47e7fd15fc3d","responseTime":10,"status":200,"url":"/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"394c3aae-5330-467c-b82a-dc3e381df1b5"},{"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":"cbf78450-c7b0-481a-8423-d68b96a4413d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"bebe82cf-284b-43b5-9430-2e51decac6c3"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0"},{"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/62f2159d-fa67-4509-93cf-e20c0a1745d5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:40Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.066321,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397779,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc3OX0.XHC-8RRCRBDopVizXh2vWVgrbOk3yCmheZj2mp0huEI"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51656900-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe9ebd353-4458-46d9-b6b2-45122106e426#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe9ebd353-4458-46d9-b6b2-45122106e426","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"e72e0975-f85c-475c-86a2-8dde347af224","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397780.5069323} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ddde88ff-169f-4002-aae6-7c4155d78530","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397780.507389} authorization_1 | {"level":"info","message":"POST /relations/update 200 186ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b22eb24e3962aa2b1a32b547b5033067"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":186}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"5ddcc103-c8c1-4005-b021-d25f282cf415","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397780.5091152} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"34e8b784-e5a0-4fb5-b32c-56468b2f6848","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397780.5100522} authorization_1 | {"level":"info","message":"POST /relations/update 200 132ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51656900-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":132}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1127ms","method":"POST","requestID":"b22eb24e3962aa2b1a32b547b5033067","responseTime":1127,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:09:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"1.133","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b22eb24e3962aa2b1a32b547b5033067"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc4MH0.pPWxGrXgTF5kSV1SiV7g0ZrWDZvA5giv0RI4yyKUoZ8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6c928a01b6475da7a395470507004041","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:40Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.894484,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397780,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc4MH0.pPWxGrXgTF5kSV1SiV7g0ZrWDZvA5giv0RI4yyKUoZ8"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c928a01b6475da7a395470507004041"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:36.680503837Z"}]},"request_id":"47f72924-3b45-4248-bda7-b35f9a37bb1c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397780.5395288} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6c928a01b6475da7a395470507004041"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 325ms","method":"POST","requestID":"51656900-c683-11ee-9765-47e7fd15fc3d","responseTime":325,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:09:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c928a01b6475da7a395470507004041"} device_1 | {"level":"info","message":"GET /devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0? 200 164ms","method":"GET","requestID":"6c928a01b6475da7a395470507004041","responseTime":164,"status":200,"url":"/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc4MH0.pPWxGrXgTF5kSV1SiV7g0ZrWDZvA5giv0RI4yyKUoZ8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"89f87190a580cc68f91402edffb13aa4","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:09:40Z"} authorization_1 | {"client_addr":"127.0.0.1:51522","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.93157,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:09:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397780,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzc4MH0.pPWxGrXgTF5kSV1SiV7g0ZrWDZvA5giv0RI4yyKUoZ8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89f87190a580cc68f91402edffb13aa4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62f2159d-fa67-4509-93cf-e20c0a1745d5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F62f2159d-fa67-4509-93cf-e20c0a1745d5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:09:37.049458839Z"}]},"request_id":"ae629d7a-b8cb-4eac-a425-672a93a7aab5","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397780.7157176} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89f87190a580cc68f91402edffb13aa4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/62f2159d-fa67-4509-93cf-e20c0a1745d5? 200 16ms","method":"GET","requestID":"89f87190a580cc68f91402edffb13aa4","responseTime":16,"status":200,"url":"/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5?"} gateway_1 | {"time_local":"08/Feb/2024:13:09:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/62f2159d-fa67-4509-93cf-e20c0a1745d5? 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":"89f87190a580cc68f91402edffb13aa4"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/07554ad8-a575-4157-b6e9-8c6bd18bad0e'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/9ae9cbef-000d-4c58-984a-92f45afb5987'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5'"} device_1 | {"data":{"peerconnection":"0f6e33ac-ec4a-432b-b672-2de4708e646c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0f6e33ac-ec4a-432b-b672-2de4708e646c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"013ba6c95090d0f522c4223eb7f2611e","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/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0"},{"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/62f2159d-fa67-4509-93cf-e20c0a1745d5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"013ba6c95090d0f522c4223eb7f2611e","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:10:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"013ba6c95090d0f522c4223eb7f2611e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyMX0.TI0lf53pnVmo1eD1VyXJlNFc3clEM1-GkYRf4IsbKWs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1da6819752adfdbbd8ac441a0e12d103","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:21Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.69271,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:21Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397821,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyMX0.TI0lf53pnVmo1eD1VyXJlNFc3clEM1-GkYRf4IsbKWs"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1da6819752adfdbbd8ac441a0e12d103"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} experiment_1 | {"level":"info","message":"GET /experiments/e9ebd353-4458-46d9-b6b2-45122106e426 200 20ms","method":"GET","requestID":"1da6819752adfdbbd8ac441a0e12d103","responseTime":20,"status":200,"url":"/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} gateway_1 | {"time_local":"08/Feb/2024:13:10:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e9ebd353-4458-46d9-b6b2-45122106e426 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1da6819752adfdbbd8ac441a0e12d103"} device_1 | {"data":{"peerconnection":"0f6e33ac-ec4a-432b-b672-2de4708e646c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyMn0.7VWuodvjxWOn2itTBataZyT1psr2ueFl5PvWbJjaJI4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6878e709979b8f6cd3a284371de24a2e","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:22Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.175012,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397822,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyMn0.7VWuodvjxWOn2itTBataZyT1psr2ueFl5PvWbJjaJI4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6878e709979b8f6cd3a284371de24a2e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} gateway_1 | {"time_local":"08/Feb/2024:13:10:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e9ebd353-4458-46d9-b6b2-45122106e426 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6878e709979b8f6cd3a284371de24a2e"} experiment_1 | {"level":"info","message":"GET /experiments/e9ebd353-4458-46d9-b6b2-45122106e426 200 16ms","method":"GET","requestID":"6878e709979b8f6cd3a284371de24a2e","responseTime":16,"status":200,"url":"/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} device_1 | {"data":{"peerconnection":"0f6e33ac-ec4a-432b-b672-2de4708e646c","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyMn0.7VWuodvjxWOn2itTBataZyT1psr2ueFl5PvWbJjaJI4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5db09724042612367e9a22b5d523804a","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:22Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.617437,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397822,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyMn0.7VWuodvjxWOn2itTBataZyT1psr2ueFl5PvWbJjaJI4"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5db09724042612367e9a22b5d523804a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} gateway_1 | {"time_local":"08/Feb/2024:13:10:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e9ebd353-4458-46d9-b6b2-45122106e426 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5db09724042612367e9a22b5d523804a"} experiment_1 | {"level":"info","message":"GET /experiments/e9ebd353-4458-46d9-b6b2-45122106e426 200 17ms","method":"GET","requestID":"5db09724042612367e9a22b5d523804a","responseTime":17,"status":200,"url":"/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0f6e33ac-ec4a-432b-b672-2de4708e646c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"22e661680b0476b94e7269618770c663","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/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0"},{"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/62f2159d-fa67-4509-93cf-e20c0a1745d5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:22Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0f6e33ac-ec4a-432b-b672-2de4708e646c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f116effe-2c99-4d3a-a4cb-ddce4af48b43","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397822.2173421} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.773144,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a55fe20-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyMn0.7VWuodvjxWOn2itTBataZyT1psr2ueFl5PvWbJjaJI4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1ccce052e2babf9f7a1081eb59759b76","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:22Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.233062,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397822,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyMn0.7VWuodvjxWOn2itTBataZyT1psr2ueFl5PvWbJjaJI4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1ccce052e2babf9f7a1081eb59759b76"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} gateway_1 | {"time_local":"08/Feb/2024:13:10:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e9ebd353-4458-46d9-b6b2-45122106e426 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1ccce052e2babf9f7a1081eb59759b76"} experiment_1 | {"level":"info","message":"GET /experiments/e9ebd353-4458-46d9-b6b2-45122106e426 200 17ms","method":"GET","requestID":"1ccce052e2babf9f7a1081eb59759b76","responseTime":17,"status":200,"url":"/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c 200 144ms","method":"GET","requestID":"6a55fe20-c683-11ee-9765-47e7fd15fc3d","responseTime":144,"status":200,"url":"/peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyMn0.7VWuodvjxWOn2itTBataZyT1psr2ueFl5PvWbJjaJI4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"824680080a1da5e4a7eec8a69b3a2541","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:22Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.924755,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397822,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyMn0.7VWuodvjxWOn2itTBataZyT1psr2ueFl5PvWbJjaJI4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"824680080a1da5e4a7eec8a69b3a2541"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 329ms","method":"POST","requestID":"22e661680b0476b94e7269618770c663","responseTime":329,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:10: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.333","http_referrer":"","http_user_agent":"node-fetch","requestID":"22e661680b0476b94e7269618770c663"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} experiment_1 | {"level":"info","message":"GET /experiments/e9ebd353-4458-46d9-b6b2-45122106e426 200 153ms","method":"GET","requestID":"824680080a1da5e4a7eec8a69b3a2541","responseTime":153,"status":200,"url":"/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} gateway_1 | {"time_local":"08/Feb/2024:13:10:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e9ebd353-4458-46d9-b6b2-45122106e426 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.157","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"824680080a1da5e4a7eec8a69b3a2541"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyMn0.7VWuodvjxWOn2itTBataZyT1psr2ueFl5PvWbJjaJI4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e6fb38aa7e1e6405686ae3b79d3cd111","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:22Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.872434,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:22Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397822,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyMn0.7VWuodvjxWOn2itTBataZyT1psr2ueFl5PvWbJjaJI4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6fb38aa7e1e6405686ae3b79d3cd111"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:22Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.953329,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:22Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397822,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyMn0.7VWuodvjxWOn2itTBataZyT1psr2ueFl5PvWbJjaJI4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a8aa2b0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0f6e33ac-ec4a-432b-b672-2de4708e646c","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"962a9405ae4f3dc16ded8879ee5e758e","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0f6e33ac-ec4a-432b-b672-2de4708e646c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0f6e33ac-ec4a-432b-b672-2de4708e646c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"c5780453-9773-4335-8976-992e1e39d0c4","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397822.5774684} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b52feb24-69c9-4b4d-ab80-6b36909df016","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397822.5776749} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0"},{"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/62f2159d-fa67-4509-93cf-e20c0a1745d5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"988e6bca7b802ae9609e413709638e35","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/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0"},{"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/62f2159d-fa67-4509-93cf-e20c0a1745d5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a8aa2b0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"data":{"peerconnection":"0f6e33ac-ec4a-432b-b672-2de4708e646c","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c 204 326ms","method":"DELETE","requestID":"6a8aa2b0-c683-11ee-9765-47e7fd15fc3d","responseTime":326,"status":204,"url":"/peerconnections/0f6e33ac-ec4a-432b-b672-2de4708e646c"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe9ebd353-4458-46d9-b6b2-45122106e426': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe9ebd353-4458-46d9-b6b2-45122106e426","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"39e6fe58-226b-4e8e-a021-6364e976f971","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397823.218665} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"80c08bac-69db-407f-8511-e25a5cb26a1c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397823.2189093} authorization_1 | {"level":"info","message":"POST /relations/update 200 164ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e6fb38aa7e1e6405686ae3b79d3cd111"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":164}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} gateway_1 | {"time_local":"08/Feb/2024:13:10:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e9ebd353-4458-46d9-b6b2-45122106e426 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.649","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e6fb38aa7e1e6405686ae3b79d3cd111"} gateway_1 | {"time_local":"08/Feb/2024:13:10:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1731","request_time":"46.285","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"b63db836b39c1471d270615bca357a48"} experiment_1 | {"level":"info","message":"DELETE /experiments/e9ebd353-4458-46d9-b6b2-45122106e426 204 1647ms","method":"DELETE","requestID":"e6fb38aa7e1e6405686ae3b79d3cd111","responseTime":1647,"status":204,"url":"/experiments/e9ebd353-4458-46d9-b6b2-45122106e426"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1617ms","method":"POST","requestID":"962a9405ae4f3dc16ded8879ee5e758e","responseTime":1617,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:10:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.621","http_referrer":"","http_user_agent":"node-fetch","requestID":"962a9405ae4f3dc16ded8879ee5e758e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1617ms","method":"POST","requestID":"988e6bca7b802ae9609e413709638e35","responseTime":1617,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:10:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.621","http_referrer":"","http_user_agent":"node-fetch","requestID":"988e6bca7b802ae9609e413709638e35"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyNH0.gk6NJoDMqtXRMTbU6jlTcu514-_nMdOhpBR31FpN6n8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"c5e3e01208a38d38553f9087ed341d88","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} gateway_1 | {"time_local":"08/Feb/2024:13:10:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1757","request_time":"45.018","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"720622a5a1fffc4df1944b2a1646925a"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:24Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.772329,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:24Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397824,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyNH0.gk6NJoDMqtXRMTbU6jlTcu514-_nMdOhpBR31FpN6n8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5e3e01208a38d38553f9087ed341d88"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5eae891-512c-4a57-a1f9-2fe8a4a20029","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b6295000-e230-4c24-9cb6-788e2b600784","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397824.519081} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5e3e01208a38d38553f9087ed341d88"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9d1523e-e50d-4dfe-9bf9-cdb0589d0bf4","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397824.5313225} authorization_1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5e3e01208a38d38553f9087ed341d88"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5' closed"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5eae891-512c-4a57-a1f9-2fe8a4a20029","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"817ce3bf-c536-4832-887a-aadc7191ef35","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397824.758326} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d279598-f07f-4099-a0ad-e07df65af0de","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397824.7588303} authorization_1 | {"level":"info","message":"POST /relations/update 200 231ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5e3e01208a38d38553f9087ed341d88"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":231}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5eae891-512c-4a57-a1f9-2fe8a4a20029","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5eae891-512c-4a57-a1f9-2fe8a4a20029","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:24.758298564Z"}]},"request_id":"31c38f21-5028-4962-b702-5fa3f6ecca11","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397824.766567} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c5e3e01208a38d38553f9087ed341d88"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 571ms","method":"POST","requestID":"c5e3e01208a38d38553f9087ed341d88","responseTime":571,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:10:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.580","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c5e3e01208a38d38553f9087ed341d88"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyNH0.gk6NJoDMqtXRMTbU6jlTcu514-_nMdOhpBR31FpN6n8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"82dcc21cace15d1bdc31fbe54cb3c17a","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:24Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.91872,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:24Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397824,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyNH0.gk6NJoDMqtXRMTbU6jlTcu514-_nMdOhpBR31FpN6n8"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82dcc21cace15d1bdc31fbe54cb3c17a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa637e5ba-2dd6-485f-9f73-2b30cf2de0ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0dae4e7d-d4c3-4c9d-af4a-3bf3ba80770d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397824.9356089} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82dcc21cace15d1bdc31fbe54cb3c17a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e61b08a-72d5-4f7c-89eb-5edcf81726e9","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397824.9435112} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82dcc21cace15d1bdc31fbe54cb3c17a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa637e5ba-2dd6-485f-9f73-2b30cf2de0ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"2c1d2e82-5022-4775-a3fe-aa64c4dfd134","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397825.1020656} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f3dc51c-49e8-4493-9635-b5fc9159da04","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397825.1025212} authorization_1 | {"level":"info","message":"POST /relations/update 200 162ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82dcc21cace15d1bdc31fbe54cb3c17a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":162}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa637e5ba-2dd6-485f-9f73-2b30cf2de0ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa637e5ba-2dd6-485f-9f73-2b30cf2de0ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:25.102037731Z"}]},"request_id":"daa6ff9a-1d79-4c20-9cea-750a970500d2","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397825.1102653} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"82dcc21cace15d1bdc31fbe54cb3c17a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 338ms","method":"POST","requestID":"82dcc21cace15d1bdc31fbe54cb3c17a","responseTime":338,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:10:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.368","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"82dcc21cace15d1bdc31fbe54cb3c17a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyNX0.XBqV_oG1DWxPw1hZqFaPM8K1OBlajgzZn3dKDLQrbRA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"45f4c7118a6188336fec2961fc1e1486","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:25Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.921499,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:25Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397825,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyNX0.XBqV_oG1DWxPw1hZqFaPM8K1OBlajgzZn3dKDLQrbRA"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45f4c7118a6188336fec2961fc1e1486"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5eae891-512c-4a57-a1f9-2fe8a4a20029","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5eae891-512c-4a57-a1f9-2fe8a4a20029","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:24.758298564Z"}]},"request_id":"073695be-7f96-4aa7-a47e-7148af96c791","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397825.5971184} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45f4c7118a6188336fec2961fc1e1486"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ffbd7625-48bc-422e-90ff-5a7b549fe6e4","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397825.6025057} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45f4c7118a6188336fec2961fc1e1486"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5eae891-512c-4a57-a1f9-2fe8a4a20029","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5eae891-512c-4a57-a1f9-2fe8a4a20029","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:24.758298564Z"}]},"request_id":"14bf5693-fa6a-4997-b4f9-ae844c0ce5a5","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397825.803734} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"45f4c7118a6188336fec2961fc1e1486"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"PATCH /devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029 200 224ms","method":"PATCH","requestID":"45f4c7118a6188336fec2961fc1e1486","responseTime":224,"status":200,"url":"/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029"} gateway_1 | {"time_local":"08/Feb/2024:13:10:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.229","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"45f4c7118a6188336fec2961fc1e1486"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyNX0.XBqV_oG1DWxPw1hZqFaPM8K1OBlajgzZn3dKDLQrbRA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"36c8872e1e44759a7f7a3ed20d069961","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:25Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.158942,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:25Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397825,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyNX0.XBqV_oG1DWxPw1hZqFaPM8K1OBlajgzZn3dKDLQrbRA"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36c8872e1e44759a7f7a3ed20d069961"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.174","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"36c8872e1e44759a7f7a3ed20d069961"} device_1 | {"level":"info","message":"POST /devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029/websocket 200 170ms","method":"POST","requestID":"36c8872e1e44759a7f7a3ed20d069961","responseTime":170,"status":200,"url":"/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6f4dd77c22882d94d265a80a14b2e237","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"OPTIONS /devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec/websocket 200 2ms","method":"OPTIONS","requestID":"6f4dd77c22882d94d265a80a14b2e237","responseTime":2,"status":200,"url":"/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec/websocket"} gateway_1 | {"time_local":"08/Feb/2024:13:10:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec/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":"6f4dd77c22882d94d265a80a14b2e237"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyN30.OpcQBo1lOU5sOaaLAlLkWcCYQzt6lWUz92moq3Gsjl4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fee9733814fbe2df797ac0718d6571a1","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:27Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.460563,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:27Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397827,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyN30.OpcQBo1lOU5sOaaLAlLkWcCYQzt6lWUz92moq3Gsjl4"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fee9733814fbe2df797ac0718d6571a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.168","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fee9733814fbe2df797ac0718d6571a1"} device_1 | {"level":"info","message":"POST /devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec/websocket 200 163ms","method":"POST","requestID":"fee9733814fbe2df797ac0718d6571a1","responseTime":163,"status":200,"url":"/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyN30.OpcQBo1lOU5sOaaLAlLkWcCYQzt6lWUz92moq3Gsjl4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"5550858dadd95eafddf0c487bbc723f9","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:27Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.817463,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397827,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyN30.OpcQBo1lOU5sOaaLAlLkWcCYQzt6lWUz92moq3Gsjl4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5550858dadd95eafddf0c487bbc723f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5eae891-512c-4a57-a1f9-2fe8a4a20029","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5eae891-512c-4a57-a1f9-2fe8a4a20029","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:24.758298564Z"}]},"request_id":"ec6c9b51-bac2-4fab-803b-553d5fa3a787","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397827.4082334} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5550858dadd95eafddf0c487bbc723f9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5550858dadd95eafddf0c487bbc723f9"} device_1 | {"level":"info","message":"GET /devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029? 200 18ms","method":"GET","requestID":"5550858dadd95eafddf0c487bbc723f9","responseTime":18,"status":200,"url":"/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyN30.OpcQBo1lOU5sOaaLAlLkWcCYQzt6lWUz92moq3Gsjl4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6fe0eafb1279bc970bad255345dfd91c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:27Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944882,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397827,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyN30.OpcQBo1lOU5sOaaLAlLkWcCYQzt6lWUz92moq3Gsjl4"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6fe0eafb1279bc970bad255345dfd91c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa637e5ba-2dd6-485f-9f73-2b30cf2de0ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa637e5ba-2dd6-485f-9f73-2b30cf2de0ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:25.102037731Z"}]},"request_id":"51823da9-cefe-4f6f-a6fb-c9dff1d8d59f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397827.4308884} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6fe0eafb1279bc970bad255345dfd91c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec? 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":"6fe0eafb1279bc970bad255345dfd91c"} device_1 | {"level":"info","message":"GET /devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec? 200 14ms","method":"GET","requestID":"6fe0eafb1279bc970bad255345dfd91c","responseTime":14,"status":200,"url":"/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyN30.OpcQBo1lOU5sOaaLAlLkWcCYQzt6lWUz92moq3Gsjl4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e651e05ff629b46abf7a29db874909fc","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:27Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.888783,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:27Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397827,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyN30.OpcQBo1lOU5sOaaLAlLkWcCYQzt6lWUz92moq3Gsjl4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e651e05ff629b46abf7a29db874909fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:27Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.119722,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397827,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyN30.OpcQBo1lOU5sOaaLAlLkWcCYQzt6lWUz92moq3Gsjl4"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6da947d0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:45680","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:27Z"} authorization_1 | {"client_addr":"127.0.0.1:45680","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.080225,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:27Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397827,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyN30.OpcQBo1lOU5sOaaLAlLkWcCYQzt6lWUz92moq3Gsjl4"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6da995f0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5eae891-512c-4a57-a1f9-2fe8a4a20029","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5eae891-512c-4a57-a1f9-2fe8a4a20029","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:24.758298564Z"}]},"request_id":"a3c70288-d277-4da0-9303-516c6db1982f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397827.8053975} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6da947d0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa637e5ba-2dd6-485f-9f73-2b30cf2de0ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa637e5ba-2dd6-485f-9f73-2b30cf2de0ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:25.102037731Z"}]},"request_id":"86702dfb-3613-458a-be9b-7aed51ef26af","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397827.8061817} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6da995f0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029? 200 23ms","method":"GET","requestID":"6da947d0-c683-11ee-9765-47e7fd15fc3d","responseTime":23,"status":200,"url":"/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec? 200 22ms","method":"GET","requestID":"6da995f0-c683-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:28Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.206622,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:28Z"} authorization_1 | {"client_addr":"127.0.0.1:45680","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:28Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397827,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyN30.OpcQBo1lOU5sOaaLAlLkWcCYQzt6lWUz92moq3Gsjl4"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6df8ee70-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:45680","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.246241,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397827,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyN30.OpcQBo1lOU5sOaaLAlLkWcCYQzt6lWUz92moq3Gsjl4"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6df93c90-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5eae891-512c-4a57-a1f9-2fe8a4a20029","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5eae891-512c-4a57-a1f9-2fe8a4a20029","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:24.758298564Z"}]},"request_id":"2b6300a3-70fc-449a-80e1-aa1d1aecefdd","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397828.3256233} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6df8ee70-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa637e5ba-2dd6-485f-9f73-2b30cf2de0ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa637e5ba-2dd6-485f-9f73-2b30cf2de0ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:25.102037731Z"}]},"request_id":"e26030d1-a35b-4548-98e6-5ed6315f2bff","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397828.326521} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6df93c90-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029? 200 21ms","method":"GET","requestID":"6df8ee70-c683-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec? 200 20ms","method":"GET","requestID":"6df93c90-c683-11ee-9765-47e7fd15fc3d","responseTime":20,"status":200,"url":"/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:28Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.820971,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:28Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6dfcbf00-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029/signaling 200 8ms","method":"POST","requestID":"6dfcbf00-c683-11ee-9765-47e7fd15fc3d","responseTime":8,"status":200,"url":"/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:28Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.053873,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:28Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6dfe6cb0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec/signaling 200 10ms","method":"POST","requestID":"6dfe6cb0-c683-11ee-9765-47e7fd15fc3d","responseTime":10,"status":200,"url":"/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"92661874-8835-4d32-af62-e3c6792543f1"},{"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":"902081e9-e3eb-4e28-966f-31c961621b30"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"26f43233-bc48-4900-aeef-381d6b6f83e5"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec"},{"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/a5eae891-512c-4a57-a1f9-2fe8a4a20029"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:28Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.050978,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:28Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397827,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyN30.OpcQBo1lOU5sOaaLAlLkWcCYQzt6lWUz92moq3Gsjl4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6e008f90-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"969277a1-5e71-44ea-9f70-9d06ef27abac","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397828.4861646} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a982694b-71eb-4790-841e-423f6248a046","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397828.4864404} authorization_1 | {"level":"info","message":"POST /relations/update 200 169ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e651e05ff629b46abf7a29db874909fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":169}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"7a534755-f804-4ccb-b90c-c24c7df38b95","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397828.49112} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bea72b2a-879c-4207-85a3-4dfd62a8e084","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397828.4918246} authorization_1 | {"level":"info","message":"POST /relations/update 200 118ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6e008f90-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":118}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1060ms","method":"POST","requestID":"e651e05ff629b46abf7a29db874909fc","responseTime":1060,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:10:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"1.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e651e05ff629b46abf7a29db874909fc"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyOH0.o69m4ya3tOZqtn1Y9K5SXqtPfFtevL7naqspfVZ-89U","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"06c3bfdd31f8448258341824fd804cd7","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:28Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.845069,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397828,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyOH0.o69m4ya3tOZqtn1Y9K5SXqtPfFtevL7naqspfVZ-89U"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"06c3bfdd31f8448258341824fd804cd7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5eae891-512c-4a57-a1f9-2fe8a4a20029","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa5eae891-512c-4a57-a1f9-2fe8a4a20029","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:24.758298564Z"}]},"request_id":"1ed647ba-b08d-41de-b78f-c747d0a50fd6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397828.516792} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"06c3bfdd31f8448258341824fd804cd7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 303ms","method":"POST","requestID":"6e008f90-c683-11ee-9765-47e7fd15fc3d","responseTime":303,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.162","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"06c3bfdd31f8448258341824fd804cd7"} device_1 | {"level":"info","message":"GET /devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029? 200 158ms","method":"GET","requestID":"06c3bfdd31f8448258341824fd804cd7","responseTime":158,"status":200,"url":"/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyOH0.o69m4ya3tOZqtn1Y9K5SXqtPfFtevL7naqspfVZ-89U","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7e92613e1f4f35cea426df036db67550","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:28Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.925535,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:28Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397828,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyOH0.o69m4ya3tOZqtn1Y9K5SXqtPfFtevL7naqspfVZ-89U"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e92613e1f4f35cea426df036db67550"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa637e5ba-2dd6-485f-9f73-2b30cf2de0ec","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa637e5ba-2dd6-485f-9f73-2b30cf2de0ec","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:25.102037731Z"}]},"request_id":"c628d702-f35a-4cb6-9545-a563412d085e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397828.6859972} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e92613e1f4f35cea426df036db67550"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec? 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":"7e92613e1f4f35cea426df036db67550"} device_1 | {"level":"info","message":"GET /devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec? 200 14ms","method":"GET","requestID":"7e92613e1f4f35cea426df036db67550","responseTime":14,"status":200,"url":"/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec?"} device_1 | {"data":{"peerconnection":"5fb6c4bc-f23c-47c2-af92-9d001e0872f8","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5fb6c4bc-f23c-47c2-af92-9d001e0872f8","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d9dd35035e012751267ed5559fcf6643","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/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec"},{"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/a5eae891-512c-4a57-a1f9-2fe8a4a20029"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 184ms","method":"POST","requestID":"d9dd35035e012751267ed5559fcf6643","responseTime":184,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:10:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch","requestID":"d9dd35035e012751267ed5559fcf6643"} device_1 | {"data":{"peerconnection":"5fb6c4bc-f23c-47c2-af92-9d001e0872f8","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyOX0.19-jVfBtoRNWM-B_bRosV9j7scwA2ohA8_RyaN4HOmY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"348c82db0d27c25b3d214c34a1cf2670","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.287675,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397829,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyOX0.19-jVfBtoRNWM-B_bRosV9j7scwA2ohA8_RyaN4HOmY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"348c82db0d27c25b3d214c34a1cf2670"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} gateway_1 | {"time_local":"08/Feb/2024:13:10:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"348c82db0d27c25b3d214c34a1cf2670"} experiment_1 | {"level":"info","message":"GET /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2 200 44ms","method":"GET","requestID":"348c82db0d27c25b3d214c34a1cf2670","responseTime":44,"status":200,"url":"/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} device_1 | {"data":{"peerconnection":"5fb6c4bc-f23c-47c2-af92-9d001e0872f8","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyOX0.19-jVfBtoRNWM-B_bRosV9j7scwA2ohA8_RyaN4HOmY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7e3d3f73d5eae1593cb2f7e6bd9b6c7e","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.303945,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397829,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyOX0.19-jVfBtoRNWM-B_bRosV9j7scwA2ohA8_RyaN4HOmY"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7e3d3f73d5eae1593cb2f7e6bd9b6c7e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} gateway_1 | {"time_local":"08/Feb/2024:13:10:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7e3d3f73d5eae1593cb2f7e6bd9b6c7e"} experiment_1 | {"level":"info","message":"GET /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2 200 16ms","method":"GET","requestID":"7e3d3f73d5eae1593cb2f7e6bd9b6c7e","responseTime":16,"status":200,"url":"/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5fb6c4bc-f23c-47c2-af92-9d001e0872f8","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e8932a709853b321da9a303cbaca2e13","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/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec"},{"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/a5eae891-512c-4a57-a1f9-2fe8a4a20029"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:29Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5fb6c4bc-f23c-47c2-af92-9d001e0872f8","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8fb0ff03-0e18-4e7c-90d2-5b1529e77cf3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397829.3601542} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.515682,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6e9814a0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyOX0.19-jVfBtoRNWM-B_bRosV9j7scwA2ohA8_RyaN4HOmY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a41b93dfb1b3a9359c47cf843e396950","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.748219,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397829,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyOX0.19-jVfBtoRNWM-B_bRosV9j7scwA2ohA8_RyaN4HOmY"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a41b93dfb1b3a9359c47cf843e396950"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} gateway_1 | {"time_local":"08/Feb/2024:13:10:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a41b93dfb1b3a9359c47cf843e396950"} experiment_1 | {"level":"info","message":"GET /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2 200 11ms","method":"GET","requestID":"a41b93dfb1b3a9359c47cf843e396950","responseTime":11,"status":200,"url":"/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyOX0.19-jVfBtoRNWM-B_bRosV9j7scwA2ohA8_RyaN4HOmY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"449f6935779e7a3aa7f35bb4af46c131","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.320279,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397829,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyOX0.19-jVfBtoRNWM-B_bRosV9j7scwA2ohA8_RyaN4HOmY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"449f6935779e7a3aa7f35bb4af46c131"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} gateway_1 | {"time_local":"08/Feb/2024:13:10:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2 HTTP/1.1","status": "200","body_bytes_sent":"1362","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"449f6935779e7a3aa7f35bb4af46c131"} experiment_1 | {"level":"info","message":"GET /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2 200 15ms","method":"GET","requestID":"449f6935779e7a3aa7f35bb4af46c131","responseTime":15,"status":200,"url":"/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8 200 161ms","method":"GET","requestID":"6e9814a0-c683-11ee-9765-47e7fd15fc3d","responseTime":161,"status":200,"url":"/peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyOX0.19-jVfBtoRNWM-B_bRosV9j7scwA2ohA8_RyaN4HOmY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"061ebb7f4a0d3a11d61d8651d84f3035","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.394468,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397829,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyOX0.19-jVfBtoRNWM-B_bRosV9j7scwA2ohA8_RyaN4HOmY"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"061ebb7f4a0d3a11d61d8651d84f3035"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 336ms","method":"POST","requestID":"e8932a709853b321da9a303cbaca2e13","responseTime":336,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:10:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.341","http_referrer":"","http_user_agent":"node-fetch","requestID":"e8932a709853b321da9a303cbaca2e13"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} gateway_1 | {"time_local":"08/Feb/2024:13:10:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2 HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.075","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"061ebb7f4a0d3a11d61d8651d84f3035"} experiment_1 | {"level":"info","message":"GET /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2 200 70ms","method":"GET","requestID":"061ebb7f4a0d3a11d61d8651d84f3035","responseTime":70,"status":200,"url":"/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyOX0.19-jVfBtoRNWM-B_bRosV9j7scwA2ohA8_RyaN4HOmY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dc2aeb314f9a29dad1f78902a4c66df6","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.250309,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:29Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397829,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyOX0.19-jVfBtoRNWM-B_bRosV9j7scwA2ohA8_RyaN4HOmY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc2aeb314f9a29dad1f78902a4c66df6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:29Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.228836,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:29Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397829,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgyOX0.19-jVfBtoRNWM-B_bRosV9j7scwA2ohA8_RyaN4HOmY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ece8df0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5fb6c4bc-f23c-47c2-af92-9d001e0872f8","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5fb6c4bc-f23c-47c2-af92-9d001e0872f8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5fb6c4bc-f23c-47c2-af92-9d001e0872f8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"66fd6992-4e75-4c3b-849f-a60e497d25f5","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397829.7334611} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cdb7e9a0-886d-45a5-bfbd-a80e1058b373","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397829.733689} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8436f1e1cc16d61bef5136426eec99bd","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec"},{"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/a5eae891-512c-4a57-a1f9-2fe8a4a20029"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1655c905a61b3bd80254e16824c9b00d","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ece8df0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec"},{"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/a5eae891-512c-4a57-a1f9-2fe8a4a20029"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"5fb6c4bc-f23c-47c2-af92-9d001e0872f8","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8 204 331ms","method":"DELETE","requestID":"6ece8df0-c683-11ee-9765-47e7fd15fc3d","responseTime":331,"status":204,"url":"/peerconnections/5fb6c4bc-f23c-47c2-af92-9d001e0872f8"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"52230fe6-c675-4817-bf97-e861af3e806a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397830.3879008} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bff6f245-bea1-49a6-a1a9-f8f3135c103c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397830.3884017} authorization_1 | {"level":"info","message":"POST /relations/update 200 172ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc2aeb314f9a29dad1f78902a4c66df6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":172}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} gateway_1 | {"time_local":"08/Feb/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.748","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc2aeb314f9a29dad1f78902a4c66df6"} gateway_1 | {"time_local":"08/Feb/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1680","request_time":"5.453","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"2f652eb5bd1bb8f22006943f7c647383"} experiment_1 | {"level":"info","message":"DELETE /experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2 204 1745ms","method":"DELETE","requestID":"dc2aeb314f9a29dad1f78902a4c66df6","responseTime":1745,"status":204,"url":"/experiments/ca7df952-5b9b-4ab4-ad80-5e8e3e23a1b2"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1711ms","method":"POST","requestID":"8436f1e1cc16d61bef5136426eec99bd","responseTime":1711,"status":200,"url":"/callbacks/experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1712ms","method":"POST","requestID":"1655c905a61b3bd80254e16824c9b00d","responseTime":1712,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.715","http_referrer":"","http_user_agent":"node-fetch","requestID":"1655c905a61b3bd80254e16824c9b00d"} gateway_1 | {"time_local":"08/Feb/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.717","http_referrer":"","http_user_agent":"node-fetch","requestID":"8436f1e1cc16d61bef5136426eec99bd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzMX0.BWmDOlllZ7Jf_aDTYMIXkLyWhpiLPMWZyDJsaDzyf7M","level":"info","message":"auth send jwt"} gateway_1 | {"time_local":"08/Feb/2024:13:10:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1760","request_time":"4.218","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"99d94e419c2a62644d1ad5d2066cd332"} authentication_1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"8986d867c0f7b62732437356f72c650c","responseTime":8,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:31Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.986568,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397831,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzMX0.BWmDOlllZ7Jf_aDTYMIXkLyWhpiLPMWZyDJsaDzyf7M"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8986d867c0f7b62732437356f72c650c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc18d0459-8434-492e-916b-33126232b012","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"80754dfd-fb05-4633-815b-8dfbab5f7abe","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397831.7960863} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8986d867c0f7b62732437356f72c650c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ce1821a-6916-47de-a8c1-485be009e863","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397831.803991} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8986d867c0f7b62732437356f72c650c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec' closed"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc18d0459-8434-492e-916b-33126232b012","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"2ba75080-0cd0-44dd-88f5-00c97608748b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397832.0769017} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"568b8530-4144-4de1-b460-d6bbc881e11a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397832.076968} authorization_1 | {"level":"info","message":"POST /relations/update 200 275ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8986d867c0f7b62732437356f72c650c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":275}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc18d0459-8434-492e-916b-33126232b012","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc18d0459-8434-492e-916b-33126232b012","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:32.076871451Z"}]},"request_id":"53bdf94b-ff11-4a2a-b72f-dbe078b4d977","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397832.0829365} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8986d867c0f7b62732437356f72c650c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 629ms","method":"POST","requestID":"8986d867c0f7b62732437356f72c650c","responseTime":629,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:10: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.644","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8986d867c0f7b62732437356f72c650c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzMn0.mX06ZPQQSXJZ4bS7cSklM8R4yc_WPGp_KHj1VfWEBs4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dc83d674a939082d3570f18087bee066","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:32Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.050623,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397832,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzMn0.mX06ZPQQSXJZ4bS7cSklM8R4yc_WPGp_KHj1VfWEBs4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc83d674a939082d3570f18087bee066"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60ea7034-668e-4406-9c2e-2c7826f61af5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"06c410ab-623e-4a5f-990a-f41ebad68900","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397832.2957447} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc83d674a939082d3570f18087bee066"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"61456d33-a1ad-4cda-b205-6a7e6770d324","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397832.303592} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc83d674a939082d3570f18087bee066"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60ea7034-668e-4406-9c2e-2c7826f61af5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"7383c1c6-51cf-4de4-8617-7718eddb7bf5","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397832.5548975} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4092daeb-5035-4aa1-ba4b-42413491b26f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397832.555133} authorization_1 | {"level":"info","message":"POST /relations/update 200 255ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc83d674a939082d3570f18087bee066"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":255}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60ea7034-668e-4406-9c2e-2c7826f61af5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60ea7034-668e-4406-9c2e-2c7826f61af5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:32.554867928Z"}]},"request_id":"37430368-d45d-47b5-b590-ad1ca4d63f73","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397832.5623364} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc83d674a939082d3570f18087bee066"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 471ms","method":"POST","requestID":"dc83d674a939082d3570f18087bee066","responseTime":471,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:10: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.504","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc83d674a939082d3570f18087bee066"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ae36afac4953e841e8f27dca6ba6be93","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:33Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.172222,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:33Z"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"53bf971c0846578de07db16b6bf339d6","responseTime":4,"status":200,"url":"/auth"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c18d0459-8434-492e-916b-33126232b012","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c18d0459-8434-492e-916b-33126232b012","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397833,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae36afac4953e841e8f27dca6ba6be93"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:33Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.759745,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:33Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/60ea7034-668e-4406-9c2e-2c7826f61af5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/60ea7034-668e-4406-9c2e-2c7826f61af5","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397833,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53bf971c0846578de07db16b6bf339d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc18d0459-8434-492e-916b-33126232b012","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc18d0459-8434-492e-916b-33126232b012","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:32.076871451Z"}]},"request_id":"0abe7869-dcf4-4b09-90c5-9f8579645885","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397833.0341196} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae36afac4953e841e8f27dca6ba6be93"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60ea7034-668e-4406-9c2e-2c7826f61af5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60ea7034-668e-4406-9c2e-2c7826f61af5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:32.554867928Z"}]},"request_id":"73412d58-dbdf-4b24-8985-42f9814ea264","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397833.0371218} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53bf971c0846578de07db16b6bf339d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"014befca-def0-4a8c-a832-f4ec812007d3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397833.0416064} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae36afac4953e841e8f27dca6ba6be93"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f8713223-8aa4-44c1-a50d-a1c1af16e13b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397833.0431309} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53bf971c0846578de07db16b6bf339d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60ea7034-668e-4406-9c2e-2c7826f61af5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60ea7034-668e-4406-9c2e-2c7826f61af5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:32.554867928Z"}]},"request_id":"21d90281-49c2-4c6a-82e6-80d5d928af2f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397833.2227492} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"53bf971c0846578de07db16b6bf339d6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc18d0459-8434-492e-916b-33126232b012","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc18d0459-8434-492e-916b-33126232b012","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:32.076871451Z"}]},"request_id":"a0757a62-7ba1-458b-8e8a-bfb05438b709","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397833.2240782} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae36afac4953e841e8f27dca6ba6be93"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"PATCH /devices/60ea7034-668e-4406-9c2e-2c7826f61af5 200 200ms","method":"PATCH","requestID":"53bf971c0846578de07db16b6bf339d6","responseTime":200,"status":200,"url":"/devices/60ea7034-668e-4406-9c2e-2c7826f61af5"} gateway_1 | {"time_local":"08/Feb/2024:13:10:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/60ea7034-668e-4406-9c2e-2c7826f61af5 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.206","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"53bf971c0846578de07db16b6bf339d6"} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c18d0459-8434-492e-916b-33126232b012 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.213","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"ae36afac4953e841e8f27dca6ba6be93"} device_1 | {"level":"info","message":"PATCH /devices/c18d0459-8434-492e-916b-33126232b012 200 209ms","method":"PATCH","requestID":"ae36afac4953e841e8f27dca6ba6be93","responseTime":209,"status":200,"url":"/devices/c18d0459-8434-492e-916b-33126232b012"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"11dcdc9436e752ed851409f5577bdd06","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cee59b227e150dbadede78f09f73c26f","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:33Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.619832,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:33Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/60ea7034-668e-4406-9c2e-2c7826f61af5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/60ea7034-668e-4406-9c2e-2c7826f61af5","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397833,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"11dcdc9436e752ed851409f5577bdd06"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:45692","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:33Z"} authorization_1 | {"client_addr":"127.0.0.1:45692","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.1045,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:33Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c18d0459-8434-492e-916b-33126232b012","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c18d0459-8434-492e-916b-33126232b012","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397833,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cee59b227e150dbadede78f09f73c26f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/60ea7034-668e-4406-9c2e-2c7826f61af5/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.167","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"11dcdc9436e752ed851409f5577bdd06"} device_1 | {"level":"info","message":"POST /devices/60ea7034-668e-4406-9c2e-2c7826f61af5/websocket 200 160ms","method":"POST","requestID":"11dcdc9436e752ed851409f5577bdd06","responseTime":160,"status":200,"url":"/devices/60ea7034-668e-4406-9c2e-2c7826f61af5/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/c18d0459-8434-492e-916b-33126232b012/websocket 200 308ms","method":"POST","requestID":"cee59b227e150dbadede78f09f73c26f","responseTime":308,"status":200,"url":"/devices/c18d0459-8434-492e-916b-33126232b012/websocket"} gateway_1 | {"time_local":"08/Feb/2024:13:10:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c18d0459-8434-492e-916b-33126232b012/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.314","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"cee59b227e150dbadede78f09f73c26f"} device_1 | {"level":"info","message":"device 'http://localhost/devices/60ea7034-668e-4406-9c2e-2c7826f61af5' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/c18d0459-8434-492e-916b-33126232b012' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"92ce8dd716de97d91571829a9a4debcf","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:33Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.231641,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c18d0459-8434-492e-916b-33126232b012","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c18d0459-8434-492e-916b-33126232b012","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397833,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92ce8dd716de97d91571829a9a4debcf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc18d0459-8434-492e-916b-33126232b012","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc18d0459-8434-492e-916b-33126232b012","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:32.076871451Z"}]},"request_id":"b570bc83-d020-4b13-9897-a6b1a655af39","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397833.876616} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92ce8dd716de97d91571829a9a4debcf"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c18d0459-8434-492e-916b-33126232b012? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"92ce8dd716de97d91571829a9a4debcf"} device_1 | {"level":"info","message":"GET /devices/c18d0459-8434-492e-916b-33126232b012? 200 20ms","method":"GET","requestID":"92ce8dd716de97d91571829a9a4debcf","responseTime":20,"status":200,"url":"/devices/c18d0459-8434-492e-916b-33126232b012?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"13130f23dd9259be796a558de10882dd","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:33Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.172916,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:33Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/60ea7034-668e-4406-9c2e-2c7826f61af5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/60ea7034-668e-4406-9c2e-2c7826f61af5","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397833,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13130f23dd9259be796a558de10882dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60ea7034-668e-4406-9c2e-2c7826f61af5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60ea7034-668e-4406-9c2e-2c7826f61af5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:32.554867928Z"}]},"request_id":"3fd03314-b9fa-413f-8939-607a72d0a8dd","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397833.9037218} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13130f23dd9259be796a558de10882dd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/60ea7034-668e-4406-9c2e-2c7826f61af5? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"13130f23dd9259be796a558de10882dd"} device_1 | {"level":"info","message":"GET /devices/60ea7034-668e-4406-9c2e-2c7826f61af5? 200 18ms","method":"GET","requestID":"13130f23dd9259be796a558de10882dd","responseTime":18,"status":200,"url":"/devices/60ea7034-668e-4406-9c2e-2c7826f61af5?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e136938b0d38485e0a07c6ae8432ca81","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:33Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.819342,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:33Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397833,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e136938b0d38485e0a07c6ae8432ca81"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.79896,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c18d0459-8434-492e-916b-33126232b012","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c18d0459-8434-492e-916b-33126232b012","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397833,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"718326a0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:45692","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:45692","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.364093,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/60ea7034-668e-4406-9c2e-2c7826f61af5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/60ea7034-668e-4406-9c2e-2c7826f61af5","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397833,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"718374c0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc18d0459-8434-492e-916b-33126232b012","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc18d0459-8434-492e-916b-33126232b012","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:32.076871451Z"}]},"request_id":"04582f2c-b1fa-4eeb-b2f2-9bdf5578cbcb","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397834.2664578} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"718326a0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60ea7034-668e-4406-9c2e-2c7826f61af5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60ea7034-668e-4406-9c2e-2c7826f61af5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:32.554867928Z"}]},"request_id":"1731b9be-6554-4514-be94-5175cee96dc5","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397834.2676892} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"718374c0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/c18d0459-8434-492e-916b-33126232b012? 200 24ms","method":"GET","requestID":"718326a0-c683-11ee-9765-47e7fd15fc3d","responseTime":24,"status":200,"url":"/devices/c18d0459-8434-492e-916b-33126232b012?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/60ea7034-668e-4406-9c2e-2c7826f61af5? 200 23ms","method":"GET","requestID":"718374c0-c683-11ee-9765-47e7fd15fc3d","responseTime":23,"status":200,"url":"/devices/60ea7034-668e-4406-9c2e-2c7826f61af5?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.838298,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:45692","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c18d0459-8434-492e-916b-33126232b012","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c18d0459-8434-492e-916b-33126232b012","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397833,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71d3deb0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:45692","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.078899,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/60ea7034-668e-4406-9c2e-2c7826f61af5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/60ea7034-668e-4406-9c2e-2c7826f61af5","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397833,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71d42cd0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc18d0459-8434-492e-916b-33126232b012","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc18d0459-8434-492e-916b-33126232b012","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:32.076871451Z"}]},"request_id":"850bed52-ad0c-4d28-b75b-79df364e7589","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397834.7918575} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71d3deb0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60ea7034-668e-4406-9c2e-2c7826f61af5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60ea7034-668e-4406-9c2e-2c7826f61af5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:32.554867928Z"}]},"request_id":"da359c02-fb66-4c8c-a8ec-e76bd8d99715","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397834.7929246} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71d42cd0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/c18d0459-8434-492e-916b-33126232b012? 200 20ms","method":"GET","requestID":"71d3deb0-c683-11ee-9765-47e7fd15fc3d","responseTime":20,"status":200,"url":"/devices/c18d0459-8434-492e-916b-33126232b012?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/60ea7034-668e-4406-9c2e-2c7826f61af5? 200 19ms","method":"GET","requestID":"71d42cd0-c683-11ee-9765-47e7fd15fc3d","responseTime":19,"status":200,"url":"/devices/60ea7034-668e-4406-9c2e-2c7826f61af5?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.293822,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:34Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/c18d0459-8434-492e-916b-33126232b012","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c18d0459-8434-492e-916b-33126232b012","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71d76120-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/c18d0459-8434-492e-916b-33126232b012/signaling 200 11ms","method":"POST","requestID":"71d76120-c683-11ee-9765-47e7fd15fc3d","responseTime":11,"status":200,"url":"/devices/c18d0459-8434-492e-916b-33126232b012/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.651703,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:34Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/60ea7034-668e-4406-9c2e-2c7826f61af5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/60ea7034-668e-4406-9c2e-2c7826f61af5","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71d935e0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/60ea7034-668e-4406-9c2e-2c7826f61af5/signaling 200 9ms","method":"POST","requestID":"71d935e0-c683-11ee-9765-47e7fd15fc3d","responseTime":9,"status":200,"url":"/devices/60ea7034-668e-4406-9c2e-2c7826f61af5/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"58625b15-5c61-4489-9384-45d90d372a39"},{"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":"deacb103-01e7-42a9-95c6-77e355f0f506"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"78020b99-e2b2-4ce2-a7ec-e75f9119ab5f"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c18d0459-8434-492e-916b-33126232b012"},{"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/60ea7034-668e-4406-9c2e-2c7826f61af5"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.82539,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:34Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397833,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzM30.4rctBKsO3TlpyrfxvOIx-AHO-iPtd5D2xWfwrbPKJ5k"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71db0aa0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F389b1e2a-07ea-48e3-8a6b-f1bae8fad47a#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F389b1e2a-07ea-48e3-8a6b-f1bae8fad47a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"aa4783a5-b3d7-44e0-9a36-e11dbb917366","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397834.9710135} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2b4b702-f539-43b3-b51d-949b98af9ecc","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397834.9712288} authorization_1 | {"level":"info","message":"POST /relations/update 200 189ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e136938b0d38485e0a07c6ae8432ca81"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":189}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"6b6e3e0e-1780-4715-a1bc-3a7adec5f845","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397834.972923} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"740c9053-ed36-424d-b621-ba3d85b666e4","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397834.9734051} authorization_1 | {"level":"info","message":"POST /relations/update 200 142ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"71db0aa0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":142}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1070ms","method":"POST","requestID":"e136938b0d38485e0a07c6ae8432ca81","responseTime":1070,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:10:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"1.077","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e136938b0d38485e0a07c6ae8432ca81"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzNH0.7gcoyjFhcd8daA4_THTWnpeve3TTsWTiksy8w-s3RvU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0eaee648a9aaea8513b962e8a90d9cb2","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:34Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.014509,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:34Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c18d0459-8434-492e-916b-33126232b012","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c18d0459-8434-492e-916b-33126232b012","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397834,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzNH0.7gcoyjFhcd8daA4_THTWnpeve3TTsWTiksy8w-s3RvU"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0eaee648a9aaea8513b962e8a90d9cb2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc18d0459-8434-492e-916b-33126232b012","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc18d0459-8434-492e-916b-33126232b012","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:32.076871451Z"}]},"request_id":"673fafd9-ae90-4dcb-94a2-4e02ba07aec8","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397835.0032523} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0eaee648a9aaea8513b962e8a90d9cb2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 340ms","method":"POST","requestID":"71db0aa0-c683-11ee-9765-47e7fd15fc3d","responseTime":340,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c18d0459-8434-492e-916b-33126232b012? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.180","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0eaee648a9aaea8513b962e8a90d9cb2"} device_1 | {"level":"info","message":"GET /devices/c18d0459-8434-492e-916b-33126232b012? 200 175ms","method":"GET","requestID":"0eaee648a9aaea8513b962e8a90d9cb2","responseTime":175,"status":200,"url":"/devices/c18d0459-8434-492e-916b-33126232b012?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzNX0.soQEakueXV4nWwAoumboRmzuf5ozuqQmeGSmM06StIg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3dfa8c465c7db17af3754196d299732f","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:35Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704459,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/60ea7034-668e-4406-9c2e-2c7826f61af5","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/60ea7034-668e-4406-9c2e-2c7826f61af5","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397835,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzNX0.soQEakueXV4nWwAoumboRmzuf5ozuqQmeGSmM06StIg"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3dfa8c465c7db17af3754196d299732f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60ea7034-668e-4406-9c2e-2c7826f61af5","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F60ea7034-668e-4406-9c2e-2c7826f61af5","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:32.554867928Z"}]},"request_id":"3da24c30-ed83-4530-92b9-b6274101f254","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397835.185895} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3dfa8c465c7db17af3754196d299732f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/60ea7034-668e-4406-9c2e-2c7826f61af5? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3dfa8c465c7db17af3754196d299732f"} device_1 | {"level":"info","message":"GET /devices/60ea7034-668e-4406-9c2e-2c7826f61af5? 200 14ms","method":"GET","requestID":"3dfa8c465c7db17af3754196d299732f","responseTime":14,"status":200,"url":"/devices/60ea7034-668e-4406-9c2e-2c7826f61af5?"} device_1 | {"data":{"peerconnection":"997d6be2-cd60-4882-8183-c43d0ee65fbf","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"997d6be2-cd60-4882-8183-c43d0ee65fbf","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"997d6be2-cd60-4882-8183-c43d0ee65fbf","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"13274a9389c0949397d0238fa5743b1e","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/c18d0459-8434-492e-916b-33126232b012"},{"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/60ea7034-668e-4406-9c2e-2c7826f61af5"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf"}}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzNX0.soQEakueXV4nWwAoumboRmzuf5ozuqQmeGSmM06StIg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"524b16156bc7f4dcb4ab53975340c088","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:35Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.225334,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397835,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzNX0.soQEakueXV4nWwAoumboRmzuf5ozuqQmeGSmM06StIg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"524b16156bc7f4dcb4ab53975340c088"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 260ms","method":"POST","requestID":"13274a9389c0949397d0238fa5743b1e","responseTime":260,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:10: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.263","http_referrer":"","http_user_agent":"node-fetch","requestID":"13274a9389c0949397d0238fa5743b1e"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} gateway_1 | {"time_local":"08/Feb/2024:13:10:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a HTTP/1.1","status": "200","body_bytes_sent":"1366","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"524b16156bc7f4dcb4ab53975340c088"} experiment_1 | {"level":"info","message":"GET /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a 200 121ms","method":"GET","requestID":"524b16156bc7f4dcb4ab53975340c088","responseTime":121,"status":200,"url":"/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} device_1 | {"data":{"peerconnection":"997d6be2-cd60-4882-8183-c43d0ee65fbf","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzNX0.soQEakueXV4nWwAoumboRmzuf5ozuqQmeGSmM06StIg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b8396c4569d51103e679e615c5f8d182","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:35Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.358826,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397835,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzNX0.soQEakueXV4nWwAoumboRmzuf5ozuqQmeGSmM06StIg"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b8396c4569d51103e679e615c5f8d182"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} gateway_1 | {"time_local":"08/Feb/2024:13:10:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a HTTP/1.1","status": "200","body_bytes_sent":"1366","request_time":"0.107","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b8396c4569d51103e679e615c5f8d182"} experiment_1 | {"level":"info","message":"GET /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a 200 100ms","method":"GET","requestID":"b8396c4569d51103e679e615c5f8d182","responseTime":100,"status":200,"url":"/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} device_1 | {"data":{"peerconnection":"997d6be2-cd60-4882-8183-c43d0ee65fbf","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzNX0.soQEakueXV4nWwAoumboRmzuf5ozuqQmeGSmM06StIg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0e6095943221b7faf427fe0e39daaf7b","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:35Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.404608,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397835,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzNX0.soQEakueXV4nWwAoumboRmzuf5ozuqQmeGSmM06StIg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0e6095943221b7faf427fe0e39daaf7b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} experiment_1 | {"level":"info","message":"GET /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a 200 16ms","method":"GET","requestID":"0e6095943221b7faf427fe0e39daaf7b","responseTime":16,"status":200,"url":"/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} gateway_1 | {"time_local":"08/Feb/2024:13:10:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a HTTP/1.1","status": "200","body_bytes_sent":"1366","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0e6095943221b7faf427fe0e39daaf7b"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"997d6be2-cd60-4882-8183-c43d0ee65fbf","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"77261cdde441f8cebcb78f524d8e9184","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/c18d0459-8434-492e-916b-33126232b012"},{"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/60ea7034-668e-4406-9c2e-2c7826f61af5"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:35Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F997d6be2-cd60-4882-8183-c43d0ee65fbf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e7cf092e-ba34-4d6f-ba3e-a5e04d5b0faa","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397835.8794043} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.030759,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"727aa600-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzNX0.soQEakueXV4nWwAoumboRmzuf5ozuqQmeGSmM06StIg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d2222d708f53676184f8ec1f22c31433","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:35Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.523871,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397835,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzNX0.soQEakueXV4nWwAoumboRmzuf5ozuqQmeGSmM06StIg"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d2222d708f53676184f8ec1f22c31433"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} gateway_1 | {"time_local":"08/Feb/2024:13:10:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a HTTP/1.1","status": "200","body_bytes_sent":"1366","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d2222d708f53676184f8ec1f22c31433"} experiment_1 | {"level":"info","message":"GET /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a 200 16ms","method":"GET","requestID":"d2222d708f53676184f8ec1f22c31433","responseTime":16,"status":200,"url":"/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf 200 153ms","method":"GET","requestID":"727aa600-c683-11ee-9765-47e7fd15fc3d","responseTime":153,"status":200,"url":"/peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzNn0.UJt2AoK261TSKqyV0WO_rSRIhlW9lyicV4Nhj4gzZ5g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"54f8a57cb4603538140e896efdd81cb2","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:36Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.859835,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397836,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzNn0.UJt2AoK261TSKqyV0WO_rSRIhlW9lyicV4Nhj4gzZ5g"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54f8a57cb4603538140e896efdd81cb2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} gateway_1 | {"time_local":"08/Feb/2024:13:10: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.350","http_referrer":"","http_user_agent":"node-fetch","requestID":"77261cdde441f8cebcb78f524d8e9184"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 346ms","method":"POST","requestID":"77261cdde441f8cebcb78f524d8e9184","responseTime":346,"status":200,"url":"/callbacks/experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} experiment_1 | {"level":"info","message":"GET /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a 200 169ms","method":"GET","requestID":"54f8a57cb4603538140e896efdd81cb2","responseTime":169,"status":200,"url":"/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} gateway_1 | {"time_local":"08/Feb/2024:13:10:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"54f8a57cb4603538140e896efdd81cb2"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzNn0.UJt2AoK261TSKqyV0WO_rSRIhlW9lyicV4Nhj4gzZ5g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2bd25c81de792dd2f9f99d7174cfe794","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:36Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.940397,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:36Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397836,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzNn0.UJt2AoK261TSKqyV0WO_rSRIhlW9lyicV4Nhj4gzZ5g"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2bd25c81de792dd2f9f99d7174cfe794"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:36Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.049087,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:36Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397836,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzNn0.UJt2AoK261TSKqyV0WO_rSRIhlW9lyicV4Nhj4gzZ5g"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72b230c0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"997d6be2-cd60-4882-8183-c43d0ee65fbf","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"448741650fd05d517b570a5de4af7df9","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/c18d0459-8434-492e-916b-33126232b012"},{"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/60ea7034-668e-4406-9c2e-2c7826f61af5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0aa6bef8dca9b7d1cccb53c1aa1afa0e","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F997d6be2-cd60-4882-8183-c43d0ee65fbf': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F997d6be2-cd60-4882-8183-c43d0ee65fbf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"501aa2a3-9eed-425f-adb7-8b795d424055","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397836.261252} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"75be0aef-2228-41f2-a86a-262c5c088dcc","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397836.2615278} 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/c18d0459-8434-492e-916b-33126232b012"},{"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/60ea7034-668e-4406-9c2e-2c7826f61af5"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"72b230c0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"data":{"peerconnection":"997d6be2-cd60-4882-8183-c43d0ee65fbf","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf 204 332ms","method":"DELETE","requestID":"72b230c0-c683-11ee-9765-47e7fd15fc3d","responseTime":332,"status":204,"url":"/peerconnections/997d6be2-cd60-4882-8183-c43d0ee65fbf"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F389b1e2a-07ea-48e3-8a6b-f1bae8fad47a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F389b1e2a-07ea-48e3-8a6b-f1bae8fad47a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"a577c54c-60d5-4512-b51b-8fe37f98b3f4","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397837.065233} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"27c62fae-3215-494b-8bfb-b59167091de0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397837.065631} authorization_1 | {"level":"info","message":"POST /relations/update 200 173ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2bd25c81de792dd2f9f99d7174cfe794"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":173}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} gateway_1 | {"time_local":"08/Feb/2024:13:10:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.923","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2bd25c81de792dd2f9f99d7174cfe794"} gateway_1 | {"time_local":"08/Feb/2024:13:10:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1760","request_time":"4.743","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"edfca0b7231ccae5365263e5593ae848"} gateway_1 | {"time_local":"08/Feb/2024:13:10:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1762","request_time":"4.593","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"5651dafeff5c00fe7ee91b9a264b0eb2"} experiment_1 | {"level":"info","message":"DELETE /experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a 204 1921ms","method":"DELETE","requestID":"2bd25c81de792dd2f9f99d7174cfe794","responseTime":1921,"status":204,"url":"/experiments/389b1e2a-07ea-48e3-8a6b-f1bae8fad47a"} gateway_1 | {"time_local":"08/Feb/2024:13:10: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":"1.889","http_referrer":"","http_user_agent":"node-fetch","requestID":"448741650fd05d517b570a5de4af7df9"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1885ms","method":"POST","requestID":"448741650fd05d517b570a5de4af7df9","responseTime":1885,"status":200,"url":"/callbacks/experiment"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1885ms","method":"POST","requestID":"0aa6bef8dca9b7d1cccb53c1aa1afa0e","responseTime":1885,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:10: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":"1.890","http_referrer":"","http_user_agent":"node-fetch","requestID":"0aa6bef8dca9b7d1cccb53c1aa1afa0e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzOH0.g9F4pqAw51VVnodfkbodI9FOvnW3pC_sDBsVDbYj61k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"fcc8cccd226bb46d85f0a7fa3f8d093b","responseTime":5,"status":200,"url":"/auth"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c18d0459-8434-492e-916b-33126232b012' closed"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:38Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.716999,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:38Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397838,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzOH0.g9F4pqAw51VVnodfkbodI9FOvnW3pC_sDBsVDbYj61k"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fcc8cccd226bb46d85f0a7fa3f8d093b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/60ea7034-668e-4406-9c2e-2c7826f61af5' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8aa9e5b-5a71-4756-92a1-e61d0072a5f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"612a769b-62f7-4397-8b2f-fb6cc8f2d346","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397838.4971323} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fcc8cccd226bb46d85f0a7fa3f8d093b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4670dd9b-e3ce-40e6-9204-f3769f18c529","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397838.5048592} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fcc8cccd226bb46d85f0a7fa3f8d093b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8aa9e5b-5a71-4756-92a1-e61d0072a5f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"2b1a6495-f997-491f-baad-4c130de50212","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397838.687257} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cc839703-6ebf-44cb-8b32-b5b92bd31225","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397838.6875155} authorization_1 | {"level":"info","message":"POST /relations/update 200 185ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fcc8cccd226bb46d85f0a7fa3f8d093b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":185}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8aa9e5b-5a71-4756-92a1-e61d0072a5f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8aa9e5b-5a71-4756-92a1-e61d0072a5f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:38.687209339Z"}]},"request_id":"8b2e4681-6831-491c-aa3f-58bbcd831451","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397838.6954203} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fcc8cccd226bb46d85f0a7fa3f8d093b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 546ms","method":"POST","requestID":"fcc8cccd226bb46d85f0a7fa3f8d093b","responseTime":546,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:10:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.556","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fcc8cccd226bb46d85f0a7fa3f8d093b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzOH0.g9F4pqAw51VVnodfkbodI9FOvnW3pC_sDBsVDbYj61k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4dc2f9d049046b700aef47cbd98526ac","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:38Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.800463,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:38Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397838,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzOH0.g9F4pqAw51VVnodfkbodI9FOvnW3pC_sDBsVDbYj61k"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4dc2f9d049046b700aef47cbd98526ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3b3cb33-8787-4586-8d08-65b8b67830a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9a728ce0-82b5-4b3e-8f93-d0671cd4ccb6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397838.897002} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4dc2f9d049046b700aef47cbd98526ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08f964b6-347c-412d-a383-ac31fb52314c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397838.9044583} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4dc2f9d049046b700aef47cbd98526ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3b3cb33-8787-4586-8d08-65b8b67830a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"4be3892e-008c-4b16-8321-d7f90a24414d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397839.0802536} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"533b10d0-0941-4252-b660-fd351041d90d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397839.0805085} authorization_1 | {"level":"info","message":"POST /relations/update 200 179ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4dc2f9d049046b700aef47cbd98526ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":179}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3b3cb33-8787-4586-8d08-65b8b67830a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3b3cb33-8787-4586-8d08-65b8b67830a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:39.080223456Z"}]},"request_id":"3470a609-ee29-415d-8442-6ce70c432e91","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397839.0880618} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4dc2f9d049046b700aef47cbd98526ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 384ms","method":"POST","requestID":"4dc2f9d049046b700aef47cbd98526ac","responseTime":384,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.415","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4dc2f9d049046b700aef47cbd98526ac"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzOX0.WaXj9qpC48kdyX7oKOb2IAS-OV9ajxkMsr0ouoKxCj4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9580836459b0ffa79d83e0442b940897","responseTime":4,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzOX0.WaXj9qpC48kdyX7oKOb2IAS-OV9ajxkMsr0ouoKxCj4","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a65e7d79ca2800ae65c2bbab4d2d07f7","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:39Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.158645,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:39Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397839,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzOX0.WaXj9qpC48kdyX7oKOb2IAS-OV9ajxkMsr0ouoKxCj4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9580836459b0ffa79d83e0442b940897"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:39534","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:39Z"} authorization_1 | {"client_addr":"127.0.0.1:39534","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.837455,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:39Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397839,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzOX0.WaXj9qpC48kdyX7oKOb2IAS-OV9ajxkMsr0ouoKxCj4"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a65e7d79ca2800ae65c2bbab4d2d07f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8aa9e5b-5a71-4756-92a1-e61d0072a5f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8aa9e5b-5a71-4756-92a1-e61d0072a5f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:38.687209339Z"}]},"request_id":"5b510ead-f37c-4d7d-b840-c8e6d1c66e21","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397839.5598469} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9580836459b0ffa79d83e0442b940897"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3b3cb33-8787-4586-8d08-65b8b67830a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3b3cb33-8787-4586-8d08-65b8b67830a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:39.080223456Z"}]},"request_id":"b75135d1-e06d-434a-b24b-41660a86dc8f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397839.5625157} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a65e7d79ca2800ae65c2bbab4d2d07f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"132ae48e-c1db-4a9c-930e-c680a1d2679f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397839.5653522} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9580836459b0ffa79d83e0442b940897"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"978da93b-ef67-4581-b7c6-b7bd93c813d7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397839.5679379} authorization_1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a65e7d79ca2800ae65c2bbab4d2d07f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3b3cb33-8787-4586-8d08-65b8b67830a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3b3cb33-8787-4586-8d08-65b8b67830a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:39.080223456Z"}]},"request_id":"60a79245-e425-4d7d-b23f-0898e6ca665a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397839.5718956} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a65e7d79ca2800ae65c2bbab4d2d07f7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b3b3cb33-8787-4586-8d08-65b8b67830a6 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.031","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"a65e7d79ca2800ae65c2bbab4d2d07f7"} device_1 | {"level":"info","message":"PATCH /devices/b3b3cb33-8787-4586-8d08-65b8b67830a6 200 26ms","method":"PATCH","requestID":"a65e7d79ca2800ae65c2bbab4d2d07f7","responseTime":26,"status":200,"url":"/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzOX0.WaXj9qpC48kdyX7oKOb2IAS-OV9ajxkMsr0ouoKxCj4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"121c6a1577be83341ff19d6c58fec9f3","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:39Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941783,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:39Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397839,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzOX0.WaXj9qpC48kdyX7oKOb2IAS-OV9ajxkMsr0ouoKxCj4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"121c6a1577be83341ff19d6c58fec9f3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8aa9e5b-5a71-4756-92a1-e61d0072a5f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8aa9e5b-5a71-4756-92a1-e61d0072a5f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:38.687209339Z"}]},"request_id":"c9c7927b-020d-46c2-a1a3-4da2424b5ee9","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397839.7570744} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9580836459b0ffa79d83e0442b940897"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"PATCH /devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9 200 214ms","method":"PATCH","requestID":"9580836459b0ffa79d83e0442b940897","responseTime":214,"status":200,"url":"/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9"} gateway_1 | {"time_local":"08/Feb/2024:13:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.220","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"9580836459b0ffa79d83e0442b940897"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzOX0.WaXj9qpC48kdyX7oKOb2IAS-OV9ajxkMsr0ouoKxCj4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5aabc96adb08e07574444609c8567407","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:39Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.115014,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:39Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397839,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzgzOX0.WaXj9qpC48kdyX7oKOb2IAS-OV9ajxkMsr0ouoKxCj4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5aabc96adb08e07574444609c8567407"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b3b3cb33-8787-4586-8d08-65b8b67830a6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.346","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"121c6a1577be83341ff19d6c58fec9f3"} device_1 | {"level":"info","message":"POST /devices/b3b3cb33-8787-4586-8d08-65b8b67830a6/websocket 200 342ms","method":"POST","requestID":"121c6a1577be83341ff19d6c58fec9f3","responseTime":342,"status":200,"url":"/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.311","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"5aabc96adb08e07574444609c8567407"} device_1 | {"level":"info","message":"POST /devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9/websocket 200 304ms","method":"POST","requestID":"5aabc96adb08e07574444609c8567407","responseTime":304,"status":200,"url":"/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0MH0.21yJjhCT99LeapNqw0JMn-kYlPRvefQgjtVMDEf0VXk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"76005ceac2e8114a3604e0da9e3aca8b","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:40Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.352308,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397840,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0MH0.21yJjhCT99LeapNqw0JMn-kYlPRvefQgjtVMDEf0VXk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76005ceac2e8114a3604e0da9e3aca8b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8aa9e5b-5a71-4756-92a1-e61d0072a5f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8aa9e5b-5a71-4756-92a1-e61d0072a5f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:38.687209339Z"}]},"request_id":"fff0c5c0-0106-4fdc-bc1a-fb68bd03d5c8","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397840.4095657} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76005ceac2e8114a3604e0da9e3aca8b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9? 200 16ms","method":"GET","requestID":"76005ceac2e8114a3604e0da9e3aca8b","responseTime":16,"status":200,"url":"/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9?"} gateway_1 | {"time_local":"08/Feb/2024:13:10:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"76005ceac2e8114a3604e0da9e3aca8b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0MH0.21yJjhCT99LeapNqw0JMn-kYlPRvefQgjtVMDEf0VXk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6ec36fcd116a32060c05bba9385958b7","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:40Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.008469,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397840,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0MH0.21yJjhCT99LeapNqw0JMn-kYlPRvefQgjtVMDEf0VXk"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ec36fcd116a32060c05bba9385958b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3b3cb33-8787-4586-8d08-65b8b67830a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3b3cb33-8787-4586-8d08-65b8b67830a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:39.080223456Z"}]},"request_id":"7beaf146-f5d1-4c10-93dd-78796d7480df","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397840.4306548} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6ec36fcd116a32060c05bba9385958b7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b3b3cb33-8787-4586-8d08-65b8b67830a6? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6ec36fcd116a32060c05bba9385958b7"} device_1 | {"level":"info","message":"GET /devices/b3b3cb33-8787-4586-8d08-65b8b67830a6? 200 14ms","method":"GET","requestID":"6ec36fcd116a32060c05bba9385958b7","responseTime":14,"status":200,"url":"/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0MH0.21yJjhCT99LeapNqw0JMn-kYlPRvefQgjtVMDEf0VXk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1fea1c20d79cf8b568061ff05afb17d5","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:40Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.236528,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:40Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397840,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0MH0.21yJjhCT99LeapNqw0JMn-kYlPRvefQgjtVMDEf0VXk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1fea1c20d79cf8b568061ff05afb17d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:40Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.853264,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397840,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0MH0.21yJjhCT99LeapNqw0JMn-kYlPRvefQgjtVMDEf0VXk"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75685010-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:39534","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:40Z"} authorization_1 | {"client_addr":"127.0.0.1:39534","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.042669,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:40Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397840,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0MH0.21yJjhCT99LeapNqw0JMn-kYlPRvefQgjtVMDEf0VXk"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75689e30-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8aa9e5b-5a71-4756-92a1-e61d0072a5f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8aa9e5b-5a71-4756-92a1-e61d0072a5f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:38.687209339Z"}]},"request_id":"e2393192-73ad-4f41-a67e-3d03d67007b6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397840.7994208} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75685010-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3b3cb33-8787-4586-8d08-65b8b67830a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3b3cb33-8787-4586-8d08-65b8b67830a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:39.080223456Z"}]},"request_id":"b57f8e6d-651e-4ee7-a42a-0756284f90ba","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397840.8005846} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75689e30-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9? 200 20ms","method":"GET","requestID":"75685010-c683-11ee-9765-47e7fd15fc3d","responseTime":20,"status":200,"url":"/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b3b3cb33-8787-4586-8d08-65b8b67830a6? 200 19ms","method":"GET","requestID":"75689e30-c683-11ee-9765-47e7fd15fc3d","responseTime":19,"status":200,"url":"/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:41Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.122665,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:41Z"} authorization_1 | {"client_addr":"127.0.0.1:39534","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397840,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0MH0.21yJjhCT99LeapNqw0JMn-kYlPRvefQgjtVMDEf0VXk"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75b69720-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:39534","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.124157,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397840,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0MH0.21yJjhCT99LeapNqw0JMn-kYlPRvefQgjtVMDEf0VXk"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75b6e540-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8aa9e5b-5a71-4756-92a1-e61d0072a5f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8aa9e5b-5a71-4756-92a1-e61d0072a5f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:38.687209339Z"}]},"request_id":"7cefb236-2977-4dc9-99ba-c73c22bc8a5f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397841.311885} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75b69720-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3b3cb33-8787-4586-8d08-65b8b67830a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3b3cb33-8787-4586-8d08-65b8b67830a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:39.080223456Z"}]},"request_id":"f1e94ef4-9da0-489f-a418-c967e87ef6e6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397841.3126829} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75b6e540-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9? 200 23ms","method":"GET","requestID":"75b69720-c683-11ee-9765-47e7fd15fc3d","responseTime":23,"status":200,"url":"/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b3b3cb33-8787-4586-8d08-65b8b67830a6? 200 22ms","method":"GET","requestID":"75b6e540-c683-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:41Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.81923,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:41Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75ba8ec0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9/signaling 200 10ms","method":"POST","requestID":"75ba8ec0-c683-11ee-9765-47e7fd15fc3d","responseTime":10,"status":200,"url":"/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:41Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.757831,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:41Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75bcffc0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/b3b3cb33-8787-4586-8d08-65b8b67830a6/signaling 200 7ms","method":"POST","requestID":"75bcffc0-c683-11ee-9765-47e7fd15fc3d","responseTime":7,"status":200,"url":"/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"28e26c30-5b92-40d1-9b45-2ba35c087113"},{"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":"b48cd75f-6f05-4b1f-b13e-408889c8fce7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"cb0b87ca-f742-4e8b-9b2c-8b7876a3ae7d"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9"},{"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/b3b3cb33-8787-4586-8d08-65b8b67830a6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:41Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.86464,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:41Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397840,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0MH0.21yJjhCT99LeapNqw0JMn-kYlPRvefQgjtVMDEf0VXk"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75bead70-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5581c838-e6d6-4cff-a3be-a8274739b8df#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5581c838-e6d6-4cff-a3be-a8274739b8df","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"2bd008a4-41a0-42f5-b556-4ff064f8300b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397841.505104} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e8b54a1f-1527-4e85-b0c0-97e1be79093e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397841.5053797} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"35221c4f-aa4e-4f13-95c8-9c917a4cb000","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397841.5076785} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4949a95d-5bd3-4830-a240-b1bac8a34e82","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397841.50801} authorization_1 | {"level":"info","message":"POST /relations/update 200 205ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1fea1c20d79cf8b568061ff05afb17d5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":205}} authorization_1 | {"level":"info","message":"POST /relations/update 200 151ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75bead70-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":151}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1076ms","method":"POST","requestID":"1fea1c20d79cf8b568061ff05afb17d5","responseTime":1076,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:10:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"1.083","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1fea1c20d79cf8b568061ff05afb17d5"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0MX0.b3h3ZUNBnWbhzfq9FbTLfiPYwaAcwh8dnAbAp0edEJs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"94e2f26ee63ef66c5170f6e8fcc664ed","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:41Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.962511,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397841,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0MX0.b3h3ZUNBnWbhzfq9FbTLfiPYwaAcwh8dnAbAp0edEJs"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"94e2f26ee63ef66c5170f6e8fcc664ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8aa9e5b-5a71-4756-92a1-e61d0072a5f9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa8aa9e5b-5a71-4756-92a1-e61d0072a5f9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:38.687209339Z"}]},"request_id":"630ed8f8-07bb-42c8-b4a6-8eae2c30ccb6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397841.5344183} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"94e2f26ee63ef66c5170f6e8fcc664ed"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 465ms","method":"POST","requestID":"75bead70-c683-11ee-9765-47e7fd15fc3d","responseTime":465,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.297","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"94e2f26ee63ef66c5170f6e8fcc664ed"} device_1 | {"level":"info","message":"GET /devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9? 200 293ms","method":"GET","requestID":"94e2f26ee63ef66c5170f6e8fcc664ed","responseTime":293,"status":200,"url":"/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0MX0.b3h3ZUNBnWbhzfq9FbTLfiPYwaAcwh8dnAbAp0edEJs","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"51e1f4d8283e253b994b52daff0c1386","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:41Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.38206,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:41Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397841,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0MX0.b3h3ZUNBnWbhzfq9FbTLfiPYwaAcwh8dnAbAp0edEJs"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51e1f4d8283e253b994b52daff0c1386"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3b3cb33-8787-4586-8d08-65b8b67830a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb3b3cb33-8787-4586-8d08-65b8b67830a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:39.080223456Z"}]},"request_id":"7159974a-d2cb-4f3b-b749-b55745a8df92","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397841.83788} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"51e1f4d8283e253b994b52daff0c1386"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b3b3cb33-8787-4586-8d08-65b8b67830a6? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"51e1f4d8283e253b994b52daff0c1386"} device_1 | {"level":"info","message":"GET /devices/b3b3cb33-8787-4586-8d08-65b8b67830a6? 200 14ms","method":"GET","requestID":"51e1f4d8283e253b994b52daff0c1386","responseTime":14,"status":200,"url":"/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6?"} device_1 | {"data":{"peerconnection":"5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"dce5e02779e13a7549d76538d3a9f5ea","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/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9"},{"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/b3b3cb33-8787-4586-8d08-65b8b67830a6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16"}}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0Mn0.5XWOl25BbNuesauKsnHXtCo70cp4eI8BcPrOhXuVUtg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"ce7994b7fc4d5165a55741be448ccaf4","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:42Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.359688,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397842,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0Mn0.5XWOl25BbNuesauKsnHXtCo70cp4eI8BcPrOhXuVUtg"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ce7994b7fc4d5165a55741be448ccaf4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} experiment_1 | {"level":"info","message":"GET /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df 200 59ms","method":"GET","requestID":"ce7994b7fc4d5165a55741be448ccaf4","responseTime":59,"status":200,"url":"/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} gateway_1 | {"time_local":"08/Feb/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df HTTP/1.1","status": "200","body_bytes_sent":"1366","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce7994b7fc4d5165a55741be448ccaf4"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 202ms","method":"POST","requestID":"dce5e02779e13a7549d76538d3a9f5ea","responseTime":202,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.205","http_referrer":"","http_user_agent":"node-fetch","requestID":"dce5e02779e13a7549d76538d3a9f5ea"} device_1 | {"data":{"peerconnection":"5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0Mn0.5XWOl25BbNuesauKsnHXtCo70cp4eI8BcPrOhXuVUtg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"acac9681fc4dcebd4193e0f38aa180dc","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:42Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.195631,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397842,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0Mn0.5XWOl25BbNuesauKsnHXtCo70cp4eI8BcPrOhXuVUtg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"acac9681fc4dcebd4193e0f38aa180dc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} gateway_1 | {"time_local":"08/Feb/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df HTTP/1.1","status": "200","body_bytes_sent":"1366","request_time":"0.166","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"acac9681fc4dcebd4193e0f38aa180dc"} experiment_1 | {"level":"info","message":"GET /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df 200 160ms","method":"GET","requestID":"acac9681fc4dcebd4193e0f38aa180dc","responseTime":160,"status":200,"url":"/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} device_1 | {"data":{"peerconnection":"5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0Mn0.5XWOl25BbNuesauKsnHXtCo70cp4eI8BcPrOhXuVUtg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9727890f17cc8b01dcf0477380773a91","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:42Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.187301,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397842,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0Mn0.5XWOl25BbNuesauKsnHXtCo70cp4eI8BcPrOhXuVUtg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9727890f17cc8b01dcf0477380773a91"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} gateway_1 | {"time_local":"08/Feb/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df HTTP/1.1","status": "200","body_bytes_sent":"1366","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9727890f17cc8b01dcf0477380773a91"} experiment_1 | {"level":"info","message":"GET /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df 200 17ms","method":"GET","requestID":"9727890f17cc8b01dcf0477380773a91","responseTime":17,"status":200,"url":"/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ca194cdd2e8a7f14188e864694ec37d7","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/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9"},{"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/b3b3cb33-8787-4586-8d08-65b8b67830a6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:42Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c08f009b-29de-45ec-ba83-8aad2eea0b84","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397842.530137} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.961845,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"767182b0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0Mn0.5XWOl25BbNuesauKsnHXtCo70cp4eI8BcPrOhXuVUtg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9076498d6b1c4b7208f1ea6085d917f6","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:42Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.164685,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397842,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0Mn0.5XWOl25BbNuesauKsnHXtCo70cp4eI8BcPrOhXuVUtg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9076498d6b1c4b7208f1ea6085d917f6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} gateway_1 | {"time_local":"08/Feb/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df HTTP/1.1","status": "200","body_bytes_sent":"1366","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9076498d6b1c4b7208f1ea6085d917f6"} experiment_1 | {"level":"info","message":"GET /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df 200 16ms","method":"GET","requestID":"9076498d6b1c4b7208f1ea6085d917f6","responseTime":16,"status":200,"url":"/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16 200 153ms","method":"GET","requestID":"767182b0-c683-11ee-9765-47e7fd15fc3d","responseTime":153,"status":200,"url":"/peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0Mn0.5XWOl25BbNuesauKsnHXtCo70cp4eI8BcPrOhXuVUtg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b2d8829c81ab1980a3be98941b52a872","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:42Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.388872,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397842,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0Mn0.5XWOl25BbNuesauKsnHXtCo70cp4eI8BcPrOhXuVUtg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2d8829c81ab1980a3be98941b52a872"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 353ms","method":"POST","requestID":"ca194cdd2e8a7f14188e864694ec37d7","responseTime":353,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.358","http_referrer":"","http_user_agent":"node-fetch","requestID":"ca194cdd2e8a7f14188e864694ec37d7"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} experiment_1 | {"level":"info","message":"GET /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df 200 185ms","method":"GET","requestID":"b2d8829c81ab1980a3be98941b52a872","responseTime":185,"status":200,"url":"/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} gateway_1 | {"time_local":"08/Feb/2024:13:10:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.191","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b2d8829c81ab1980a3be98941b52a872"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0Mn0.5XWOl25BbNuesauKsnHXtCo70cp4eI8BcPrOhXuVUtg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"18b70ace4b1fd69057aa86908e224cd5","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:42Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.519815,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:42Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397842,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0Mn0.5XWOl25BbNuesauKsnHXtCo70cp4eI8BcPrOhXuVUtg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18b70ace4b1fd69057aa86908e224cd5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:42Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.256706,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:42Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397842,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0Mn0.5XWOl25BbNuesauKsnHXtCo70cp4eI8BcPrOhXuVUtg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76ab0940-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"d8175c75-9c4c-4e44-8daa-2035a758281e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397842.921024} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5fa4a86915cd127c64dd686516a649d8","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9"},{"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/b3b3cb33-8787-4586-8d08-65b8b67830a6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"58a0307dc413d535cb3ce90b4e9c68f5","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:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fd1ec8d2-2782-4ec3-93ef-0126d3f81eaf","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397842.9214509} authorization_1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"76ab0940-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"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/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9"},{"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/b3b3cb33-8787-4586-8d08-65b8b67830a6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16 204 336ms","method":"DELETE","requestID":"76ab0940-c683-11ee-9765-47e7fd15fc3d","responseTime":336,"status":204,"url":"/peerconnections/5e7663b3-7795-4f3a-92a0-0d1e6bf6cf16"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5581c838-e6d6-4cff-a3be-a8274739b8df': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5581c838-e6d6-4cff-a3be-a8274739b8df","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"8361e875-2959-4d30-98ae-edcd64d5b852","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397843.5652373} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d8a3ce20-bd89-47c3-96bc-b6d47e430c27","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397843.5657322} authorization_1 | {"level":"info","message":"POST /relations/update 200 155ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"18b70ace4b1fd69057aa86908e224cd5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":155}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} gateway_1 | {"time_local":"08/Feb/2024:13:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.723","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"18b70ace4b1fd69057aa86908e224cd5"} gateway_1 | {"time_local":"08/Feb/2024:13:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1762","request_time":"4.525","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"eaa0a8a0d3c393e7d85a8cd06d208d4a"} experiment_1 | {"level":"info","message":"DELETE /experiments/5581c838-e6d6-4cff-a3be-a8274739b8df 204 1719ms","method":"DELETE","requestID":"18b70ace4b1fd69057aa86908e224cd5","responseTime":1719,"status":204,"url":"/experiments/5581c838-e6d6-4cff-a3be-a8274739b8df"} gateway_1 | {"time_local":"08/Feb/2024:13:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1760","request_time":"4.677","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"e9596a1954652eb403cdd30e3ef1f0b6"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1684ms","method":"POST","requestID":"5fa4a86915cd127c64dd686516a649d8","responseTime":1684,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.689","http_referrer":"","http_user_agent":"node-fetch","requestID":"5fa4a86915cd127c64dd686516a649d8"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1685ms","method":"POST","requestID":"58a0307dc413d535cb3ce90b4e9c68f5","responseTime":1685,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:10:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.690","http_referrer":"","http_user_agent":"node-fetch","requestID":"58a0307dc413d535cb3ce90b4e9c68f5"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6' closed"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0NH0.EdW-CpcWyVfxiZT0yqwDHwHn1kVl0plpcYK2UBgr9eM","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"3f3376ff80e78036550557bf740388cd","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:44Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.703922,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:44Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397844,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0NH0.EdW-CpcWyVfxiZT0yqwDHwHn1kVl0plpcYK2UBgr9eM"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f3376ff80e78036550557bf740388cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7539e9e-15c8-41b0-b792-00c9437bc6e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a24bc166-55e2-4233-b7f4-63b1eb00ee04","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397844.9654882} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f3376ff80e78036550557bf740388cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2df2ea8e-914f-4f60-abd3-ba14e8e6579b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397844.973261} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f3376ff80e78036550557bf740388cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7539e9e-15c8-41b0-b792-00c9437bc6e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"75022876-ec54-4b84-b0a2-2f5a654dd74d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397845.1467059} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a6f244fd-42af-4446-ad13-62ffd5ffec18","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397845.1469293} authorization_1 | {"level":"info","message":"POST /relations/update 200 177ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f3376ff80e78036550557bf740388cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":177}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7539e9e-15c8-41b0-b792-00c9437bc6e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7539e9e-15c8-41b0-b792-00c9437bc6e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:45.146682935Z"}]},"request_id":"70f09d81-29a4-4507-b19b-ba7ed547886e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397845.1536038} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3f3376ff80e78036550557bf740388cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 542ms","method":"POST","requestID":"3f3376ff80e78036550557bf740388cd","responseTime":542,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:10:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.553","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3f3376ff80e78036550557bf740388cd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0NX0.LMxxeln4Q9bCaUK6JNZXrfNVm27bCbAELvGK1WY7k4k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1d63e6d330e8b879ff3b495d3cbecdf8","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:45Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.119215,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:45Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397845,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0NX0.LMxxeln4Q9bCaUK6JNZXrfNVm27bCbAELvGK1WY7k4k"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d63e6d330e8b879ff3b495d3cbecdf8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4307b836-83d5-46fa-974f-d47e4bd35dde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"83973212-aa44-41c4-acdc-1afbe50d7481","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397845.340629} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d63e6d330e8b879ff3b495d3cbecdf8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4df09f8a-c466-4b02-8c59-2cf8fe8bd1db","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397845.349162} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d63e6d330e8b879ff3b495d3cbecdf8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4307b836-83d5-46fa-974f-d47e4bd35dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"1bb67699-ee25-4909-9c8e-d5e864eceb60","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397845.5318706} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"84f01141-3ebd-4775-ae61-ca584e2a73f7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397845.5322793} authorization_1 | {"level":"info","message":"POST /relations/update 200 186ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d63e6d330e8b879ff3b495d3cbecdf8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":186}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4307b836-83d5-46fa-974f-d47e4bd35dde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4307b836-83d5-46fa-974f-d47e4bd35dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:45.531838320Z"}]},"request_id":"ff3c9141-f17d-4b42-a360-6f309c8f2701","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397845.5397398} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d63e6d330e8b879ff3b495d3cbecdf8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 377ms","method":"POST","requestID":"1d63e6d330e8b879ff3b495d3cbecdf8","responseTime":377,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:10:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.408","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d63e6d330e8b879ff3b495d3cbecdf8"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8aeba04ce922da49b4b4e28efb46e856","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6/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":"8aeba04ce922da49b4b4e28efb46e856"} device_1 | {"level":"info","message":"OPTIONS /devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6/websocket 200 1ms","method":"OPTIONS","requestID":"8aeba04ce922da49b4b4e28efb46e856","responseTime":1,"status":200,"url":"/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0N30.4FHfkpQJTvv2D98o-CPjqAbwIBvyFjc8b_4dtj9CrJ4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8ce3e4c040ebdd4b7f9131eea53c2ec2","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5e68db89b1cfe58759e3203d60d59669","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:47Z"} gateway_1 | {"time_local":"08/Feb/2024:13:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/4307b836-83d5-46fa-974f-d47e4bd35dde/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":"5e68db89b1cfe58759e3203d60d59669"} device_1 | {"level":"info","message":"OPTIONS /devices/4307b836-83d5-46fa-974f-d47e4bd35dde/websocket 200 1ms","method":"OPTIONS","requestID":"5e68db89b1cfe58759e3203d60d59669","responseTime":1,"status":200,"url":"/devices/4307b836-83d5-46fa-974f-d47e4bd35dde/websocket"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.155897,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:47Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397847,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0N30.4FHfkpQJTvv2D98o-CPjqAbwIBvyFjc8b_4dtj9CrJ4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8ce3e4c040ebdd4b7f9131eea53c2ec2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0N30.4FHfkpQJTvv2D98o-CPjqAbwIBvyFjc8b_4dtj9CrJ4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f4c2deb7dc22bb6dd2c3a548007806c0","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:47Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.084517,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:47Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4307b836-83d5-46fa-974f-d47e4bd35dde","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/4307b836-83d5-46fa-974f-d47e4bd35dde","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397847,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0N30.4FHfkpQJTvv2D98o-CPjqAbwIBvyFjc8b_4dtj9CrJ4"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f4c2deb7dc22bb6dd2c3a548007806c0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6/websocket 200 174ms","method":"POST","requestID":"8ce3e4c040ebdd4b7f9131eea53c2ec2","responseTime":174,"status":200,"url":"/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6/websocket"} gateway_1 | {"time_local":"08/Feb/2024:13:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.180","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8ce3e4c040ebdd4b7f9131eea53c2ec2"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4307b836-83d5-46fa-974f-d47e4bd35dde/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.350","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f4c2deb7dc22bb6dd2c3a548007806c0"} device_1 | {"level":"info","message":"POST /devices/4307b836-83d5-46fa-974f-d47e4bd35dde/websocket 200 346ms","method":"POST","requestID":"f4c2deb7dc22bb6dd2c3a548007806c0","responseTime":346,"status":200,"url":"/devices/4307b836-83d5-46fa-974f-d47e4bd35dde/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/4307b836-83d5-46fa-974f-d47e4bd35dde' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0OH0.ncSJBNjd9g0tIEMg9Filwbqsur48SVe1_SRhr4jG38g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cc3d3c51ad20895c61d1e02b632763ac","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.159926,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397848,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0OH0.ncSJBNjd9g0tIEMg9Filwbqsur48SVe1_SRhr4jG38g"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc3d3c51ad20895c61d1e02b632763ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7539e9e-15c8-41b0-b792-00c9437bc6e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7539e9e-15c8-41b0-b792-00c9437bc6e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:45.146682935Z"}]},"request_id":"ad89305b-70eb-4b29-859f-006a6f05baf5","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397848.1817205} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc3d3c51ad20895c61d1e02b632763ac"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6? 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":"cc3d3c51ad20895c61d1e02b632763ac"} device_1 | {"level":"info","message":"GET /devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6? 200 20ms","method":"GET","requestID":"cc3d3c51ad20895c61d1e02b632763ac","responseTime":20,"status":200,"url":"/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0OH0.ncSJBNjd9g0tIEMg9Filwbqsur48SVe1_SRhr4jG38g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"15fd4bfd146c2f92cbf82f630b14f2d4","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859483,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4307b836-83d5-46fa-974f-d47e4bd35dde","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/4307b836-83d5-46fa-974f-d47e4bd35dde","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397848,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0OH0.ncSJBNjd9g0tIEMg9Filwbqsur48SVe1_SRhr4jG38g"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15fd4bfd146c2f92cbf82f630b14f2d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4307b836-83d5-46fa-974f-d47e4bd35dde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4307b836-83d5-46fa-974f-d47e4bd35dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:45.531838320Z"}]},"request_id":"a772b9e0-609e-4465-88fc-ec4918a43908","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397848.206233} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15fd4bfd146c2f92cbf82f630b14f2d4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4307b836-83d5-46fa-974f-d47e4bd35dde? 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":"15fd4bfd146c2f92cbf82f630b14f2d4"} device_1 | {"level":"info","message":"GET /devices/4307b836-83d5-46fa-974f-d47e4bd35dde? 200 15ms","method":"GET","requestID":"15fd4bfd146c2f92cbf82f630b14f2d4","responseTime":15,"status":200,"url":"/devices/4307b836-83d5-46fa-974f-d47e4bd35dde?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0OH0.ncSJBNjd9g0tIEMg9Filwbqsur48SVe1_SRhr4jG38g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4207af66f6b65060c1ad5407f1dc3fce","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":2.16299,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:48Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397848,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0OH0.ncSJBNjd9g0tIEMg9Filwbqsur48SVe1_SRhr4jG38g"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4207af66f6b65060c1ad5407f1dc3fce"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.830723,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397848,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0OH0.ncSJBNjd9g0tIEMg9Filwbqsur48SVe1_SRhr4jG38g"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a0c35a0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:39150","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:48Z"} authorization_1 | {"client_addr":"127.0.0.1:39150","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.836116,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4307b836-83d5-46fa-974f-d47e4bd35dde","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/4307b836-83d5-46fa-974f-d47e4bd35dde","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397848,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0OH0.ncSJBNjd9g0tIEMg9Filwbqsur48SVe1_SRhr4jG38g"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a0c83c0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7539e9e-15c8-41b0-b792-00c9437bc6e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7539e9e-15c8-41b0-b792-00c9437bc6e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:45.146682935Z"}]},"request_id":"3cb1b34a-414a-42e1-b800-030f585a9da1","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397848.5843642} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a0c35a0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4307b836-83d5-46fa-974f-d47e4bd35dde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4307b836-83d5-46fa-974f-d47e4bd35dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:45.531838320Z"}]},"request_id":"6460e8b9-89df-4e0e-8ef3-b82bcaac2618","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397848.5852911} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a0c83c0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6? 200 20ms","method":"GET","requestID":"7a0c35a0-c683-11ee-9765-47e7fd15fc3d","responseTime":20,"status":200,"url":"/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/4307b836-83d5-46fa-974f-d47e4bd35dde? 200 19ms","method":"GET","requestID":"7a0c83c0-c683-11ee-9765-47e7fd15fc3d","responseTime":19,"status":200,"url":"/devices/4307b836-83d5-46fa-974f-d47e4bd35dde?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:49Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.753829,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:49Z"} authorization_1 | {"client_addr":"127.0.0.1:39150","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397848,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0OH0.ncSJBNjd9g0tIEMg9Filwbqsur48SVe1_SRhr4jG38g"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a5bdc40-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:39150","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.423516,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4307b836-83d5-46fa-974f-d47e4bd35dde","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/4307b836-83d5-46fa-974f-d47e4bd35dde","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397848,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0OH0.ncSJBNjd9g0tIEMg9Filwbqsur48SVe1_SRhr4jG38g"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a5c2a60-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7539e9e-15c8-41b0-b792-00c9437bc6e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7539e9e-15c8-41b0-b792-00c9437bc6e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:45.146682935Z"}]},"request_id":"fe99544c-268a-40df-873b-f40a95591288","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397849.1047378} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a5bdc40-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4307b836-83d5-46fa-974f-d47e4bd35dde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4307b836-83d5-46fa-974f-d47e4bd35dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:45.531838320Z"}]},"request_id":"9a89df40-7b67-4c0b-aeda-72fe7474564f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397849.105515} authorization_1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a5c2a60-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6? 200 22ms","method":"GET","requestID":"7a5bdc40-c683-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/4307b836-83d5-46fa-974f-d47e4bd35dde? 200 21ms","method":"GET","requestID":"7a5c2a60-c683-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/4307b836-83d5-46fa-974f-d47e4bd35dde?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:49Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.915925,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:49Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a5facd0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6/signaling 200 9ms","method":"POST","requestID":"7a5facd0-c683-11ee-9765-47e7fd15fc3d","responseTime":9,"status":200,"url":"/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:49Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.028934,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:49Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/4307b836-83d5-46fa-974f-d47e4bd35dde","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4307b836-83d5-46fa-974f-d47e4bd35dde","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a615a80-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/4307b836-83d5-46fa-974f-d47e4bd35dde/signaling 200 9ms","method":"POST","requestID":"7a615a80-c683-11ee-9765-47e7fd15fc3d","responseTime":9,"status":200,"url":"/devices/4307b836-83d5-46fa-974f-d47e4bd35dde/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"6ff019c6-9870-4e3e-b018-4e8bd62d9503"},{"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":"d46aa646-e25f-414d-a671-1e6ac153817a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1c94334b-3420-46c0-9799-47cc0229c6b9"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6"},{"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/4307b836-83d5-46fa-974f-d47e4bd35dde"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:49Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.072266,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:49Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397848,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0OH0.ncSJBNjd9g0tIEMg9Filwbqsur48SVe1_SRhr4jG38g"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a635650-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe3e07b88-e501-414e-8096-fb9f9a014287#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe3e07b88-e501-414e-8096-fb9f9a014287","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"2589b95b-21bf-4671-ad1b-9d1fa10fa269","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397849.290578} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a911be02-b776-44e0-8e68-d817de922f3a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397849.291093} authorization_1 | {"level":"info","message":"POST /relations/update 200 195ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4207af66f6b65060c1ad5407f1dc3fce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":195}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"d6a36249-25ee-48c0-84e4-63b8dc2b4eed","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397849.292872} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc6c08cc-30f7-4c1e-8a6b-a0f61c6a372a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397849.293456} authorization_1 | {"level":"info","message":"POST /relations/update 200 144ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a635650-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":144}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1087ms","method":"POST","requestID":"4207af66f6b65060c1ad5407f1dc3fce","responseTime":1087,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:10:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"1.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4207af66f6b65060c1ad5407f1dc3fce"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0OX0.KzfcnSx9nBjkhwUAMo0ycaKViWSjsmYHz8pKWP2XjG4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dd2739b9bc4a6501ba282934cee39b55","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:49Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.088862,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397849,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0OX0.KzfcnSx9nBjkhwUAMo0ycaKViWSjsmYHz8pKWP2XjG4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd2739b9bc4a6501ba282934cee39b55"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7539e9e-15c8-41b0-b792-00c9437bc6e6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb7539e9e-15c8-41b0-b792-00c9437bc6e6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:45.146682935Z"}]},"request_id":"8264729e-884e-4ec1-b0ff-767a4ea940c5","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397849.3221183} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd2739b9bc4a6501ba282934cee39b55"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0ff7867e-4275-4d55-b3df-427528199d13'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0ff7867e-4275-4d55-b3df-427528199d13'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 334ms","method":"POST","requestID":"7a635650-c683-11ee-9765-47e7fd15fc3d","responseTime":334,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:10:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.169","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd2739b9bc4a6501ba282934cee39b55"} device_1 | {"level":"info","message":"GET /devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6? 200 164ms","method":"GET","requestID":"dd2739b9bc4a6501ba282934cee39b55","responseTime":164,"status":200,"url":"/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0OX0.KzfcnSx9nBjkhwUAMo0ycaKViWSjsmYHz8pKWP2XjG4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"888ee9c227aba6e448e3d15626d5624b","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:10:49Z"} authorization_1 | {"client_addr":"127.0.0.1:52484","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665812,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:10:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4307b836-83d5-46fa-974f-d47e4bd35dde","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/4307b836-83d5-46fa-974f-d47e4bd35dde","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397849,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg0OX0.KzfcnSx9nBjkhwUAMo0ycaKViWSjsmYHz8pKWP2XjG4"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"888ee9c227aba6e448e3d15626d5624b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4307b836-83d5-46fa-974f-d47e4bd35dde","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4307b836-83d5-46fa-974f-d47e4bd35dde","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:10:45.531838320Z"}]},"request_id":"d88dcc63-8735-47b6-9328-7f8ab261941e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397849.4937422} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"888ee9c227aba6e448e3d15626d5624b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/4307b836-83d5-46fa-974f-d47e4bd35dde? 200 12ms","method":"GET","requestID":"888ee9c227aba6e448e3d15626d5624b","responseTime":12,"status":200,"url":"/devices/4307b836-83d5-46fa-974f-d47e4bd35dde?"} gateway_1 | {"time_local":"08/Feb/2024:13:10:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4307b836-83d5-46fa-974f-d47e4bd35dde? 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":"888ee9c227aba6e448e3d15626d5624b"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/17df5c41-6d5f-42b6-ad8d-73484a7fc12a'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/ff96fb8e-10b0-4fa1-af5b-dcda2c894674'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/9a4079cb-5bc9-46c1-b6a6-aea128df545d'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/5f67d625-404b-4d88-8493-d254da2b198d'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/4307b836-83d5-46fa-974f-d47e4bd35dde'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/4307b836-83d5-46fa-974f-d47e4bd35dde'"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0ff7867e-4275-4d55-b3df-427528199d13' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0ff7867e-4275-4d55-b3df-427528199d13","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3340b4a13f21b09885d5904bb78a75d5","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/b7539e9e-15c8-41b0-b792-00c9437bc6e6"},{"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/4307b836-83d5-46fa-974f-d47e4bd35dde"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0ff7867e-4275-4d55-b3df-427528199d13"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"3340b4a13f21b09885d5904bb78a75d5","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:11:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"3340b4a13f21b09885d5904bb78a75d5"} device_1 | {"data":{"peerconnection":"0ff7867e-4275-4d55-b3df-427528199d13","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg4OX0.4m9T74rn_4DdIiWKPU4M2volIfLNtucErL8MF64BtTU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7f601e22081362a6cedcf6c688782243","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e3e07b88-e501-414e-8096-fb9f9a014287"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:29Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.501692,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397889,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg4OX0.4m9T74rn_4DdIiWKPU4M2volIfLNtucErL8MF64BtTU"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7f601e22081362a6cedcf6c688782243"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e3e07b88-e501-414e-8096-fb9f9a014287"} experiment_1 | {"level":"info","message":"GET /experiments/e3e07b88-e501-414e-8096-fb9f9a014287 200 17ms","method":"GET","requestID":"7f601e22081362a6cedcf6c688782243","responseTime":17,"status":200,"url":"/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"} gateway_1 | {"time_local":"08/Feb/2024:13:11:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e3e07b88-e501-414e-8096-fb9f9a014287 HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f601e22081362a6cedcf6c688782243"} device_1 | {"data":{"peerconnection":"0ff7867e-4275-4d55-b3df-427528199d13","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg4OX0.4m9T74rn_4DdIiWKPU4M2volIfLNtucErL8MF64BtTU","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"35d8f904d1de256876f6f6dcfcc88ad9","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e3e07b88-e501-414e-8096-fb9f9a014287"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:29Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.364246,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397889,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg4OX0.4m9T74rn_4DdIiWKPU4M2volIfLNtucErL8MF64BtTU"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"35d8f904d1de256876f6f6dcfcc88ad9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e3e07b88-e501-414e-8096-fb9f9a014287"} gateway_1 | {"time_local":"08/Feb/2024:13:11:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e3e07b88-e501-414e-8096-fb9f9a014287 HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"35d8f904d1de256876f6f6dcfcc88ad9"} experiment_1 | {"level":"info","message":"GET /experiments/e3e07b88-e501-414e-8096-fb9f9a014287 200 16ms","method":"GET","requestID":"35d8f904d1de256876f6f6dcfcc88ad9","responseTime":16,"status":200,"url":"/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0ff7867e-4275-4d55-b3df-427528199d13' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0ff7867e-4275-4d55-b3df-427528199d13","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"8e2d33d01d5fe553eabc879644e36aa6","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/b7539e9e-15c8-41b0-b792-00c9437bc6e6"},{"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/4307b836-83d5-46fa-974f-d47e4bd35dde"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0ff7867e-4275-4d55-b3df-427528199d13"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:29Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0ff7867e-4275-4d55-b3df-427528199d13","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1907c873-6a85-4849-be8e-f2076e4531eb","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397889.9752395} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.849314,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:29Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0ff7867e-4275-4d55-b3df-427528199d13","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0ff7867e-4275-4d55-b3df-427528199d13","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92b90b00-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5MH0.XPE-4ykf63szlqzowwJowoRIfEJCAyeGFOp8AU8-KEQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"aa6a7862718faff242d26b48b27ea409","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e3e07b88-e501-414e-8096-fb9f9a014287"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:30Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.230449,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397890,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5MH0.XPE-4ykf63szlqzowwJowoRIfEJCAyeGFOp8AU8-KEQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa6a7862718faff242d26b48b27ea409"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e3e07b88-e501-414e-8096-fb9f9a014287"} gateway_1 | {"time_local":"08/Feb/2024:13:11:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e3e07b88-e501-414e-8096-fb9f9a014287 HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa6a7862718faff242d26b48b27ea409"} experiment_1 | {"level":"info","message":"GET /experiments/e3e07b88-e501-414e-8096-fb9f9a014287 200 16ms","method":"GET","requestID":"aa6a7862718faff242d26b48b27ea409","responseTime":16,"status":200,"url":"/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/0ff7867e-4275-4d55-b3df-427528199d13 200 160ms","method":"GET","requestID":"92b90b00-c683-11ee-9765-47e7fd15fc3d","responseTime":160,"status":200,"url":"/peerconnections/0ff7867e-4275-4d55-b3df-427528199d13"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5MH0.XPE-4ykf63szlqzowwJowoRIfEJCAyeGFOp8AU8-KEQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4086c51dbc264a5e857053b414de75e1","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/e3e07b88-e501-414e-8096-fb9f9a014287"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:30Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.328773,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:30Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397890,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5MH0.XPE-4ykf63szlqzowwJowoRIfEJCAyeGFOp8AU8-KEQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4086c51dbc264a5e857053b414de75e1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 362ms","method":"POST","requestID":"8e2d33d01d5fe553eabc879644e36aa6","responseTime":362,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:11:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.366","http_referrer":"","http_user_agent":"node-fetch","requestID":"8e2d33d01d5fe553eabc879644e36aa6"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/e3e07b88-e501-414e-8096-fb9f9a014287"} gateway_1 | {"time_local":"08/Feb/2024:13:11:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/e3e07b88-e501-414e-8096-fb9f9a014287 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.196","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4086c51dbc264a5e857053b414de75e1"} experiment_1 | {"level":"info","message":"GET /experiments/e3e07b88-e501-414e-8096-fb9f9a014287 200 186ms","method":"GET","requestID":"4086c51dbc264a5e857053b414de75e1","responseTime":186,"status":200,"url":"/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5MH0.XPE-4ykf63szlqzowwJowoRIfEJCAyeGFOp8AU8-KEQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"32edffa2e58dda45c47b9b1dfd494146","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/e3e07b88-e501-414e-8096-fb9f9a014287"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:30Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.108392,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:30Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397890,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5MH0.XPE-4ykf63szlqzowwJowoRIfEJCAyeGFOp8AU8-KEQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32edffa2e58dda45c47b9b1dfd494146"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:30Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.776312,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:30Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0ff7867e-4275-4d55-b3df-427528199d13","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/0ff7867e-4275-4d55-b3df-427528199d13","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397890,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5MH0.XPE-4ykf63szlqzowwJowoRIfEJCAyeGFOp8AU8-KEQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92f32dd0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/0ff7867e-4275-4d55-b3df-427528199d13' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0ff7867e-4275-4d55-b3df-427528199d13' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"0ff7867e-4275-4d55-b3df-427528199d13","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0ff7867e-4275-4d55-b3df-427528199d13': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0ff7867e-4275-4d55-b3df-427528199d13","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"c7e5783c-7895-43a6-943e-dca1100e6efc","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397890.36927} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6a4269b3-7f22-4d59-b888-3e2e77cf0f44","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397890.3695288} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"160cd81f607de0e43eca0215b3c6388b","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization_1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"92f32dd0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"ab1faebaa5049e5e13d857e6c436a136","responseTime":0,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6"},{"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/4307b836-83d5-46fa-974f-d47e4bd35dde"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0ff7867e-4275-4d55-b3df-427528199d13"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6"},{"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/4307b836-83d5-46fa-974f-d47e4bd35dde"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0ff7867e-4275-4d55-b3df-427528199d13"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/0ff7867e-4275-4d55-b3df-427528199d13 204 322ms","method":"DELETE","requestID":"92f32dd0-c683-11ee-9765-47e7fd15fc3d","responseTime":322,"status":204,"url":"/peerconnections/0ff7867e-4275-4d55-b3df-427528199d13"} device_1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6'"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe3e07b88-e501-414e-8096-fb9f9a014287': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fe3e07b88-e501-414e-8096-fb9f9a014287","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"4a34dc8e-902b-488a-b30e-2d3a59463066","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397891.0000942} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae7b9f68-2934-43fd-b7df-7cb545f663a6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397891.0010607} authorization_1 | {"level":"info","message":"POST /relations/update 200 165ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"32edffa2e58dda45c47b9b1dfd494146"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":165}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/e3e07b88-e501-414e-8096-fb9f9a014287"} gateway_1 | {"time_local":"08/Feb/2024:13:11:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/e3e07b88-e501-414e-8096-fb9f9a014287 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.615","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"32edffa2e58dda45c47b9b1dfd494146"} experiment_1 | {"level":"info","message":"DELETE /experiments/e3e07b88-e501-414e-8096-fb9f9a014287 204 1612ms","method":"DELETE","requestID":"32edffa2e58dda45c47b9b1dfd494146","responseTime":1612,"status":204,"url":"/experiments/e3e07b88-e501-414e-8096-fb9f9a014287"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1579ms","method":"POST","requestID":"160cd81f607de0e43eca0215b3c6388b","responseTime":1579,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:11:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.582","http_referrer":"","http_user_agent":"node-fetch","requestID":"160cd81f607de0e43eca0215b3c6388b"} gateway_1 | {"time_local":"08/Feb/2024:13:11:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.583","http_referrer":"","http_user_agent":"node-fetch","requestID":"ab1faebaa5049e5e13d857e6c436a136"} gateway_1 | {"time_local":"08/Feb/2024:13:11:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1693","request_time":"44.311","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f4d10d24ca31d094e52214c9425c7530"} gateway_1 | {"time_local":"08/Feb/2024:13:11:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1691","request_time":"44.129","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"638858d6b1fc1f9d5ddb205fd2b7efe6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5MX0.2Q1_CXJHOrFoq3AqOsjLO8soimetdiip0LW8T-vL298","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"e2662e9a92c1c4363872210fc4d467ab","responseTime":9,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1579ms","method":"POST","requestID":"ab1faebaa5049e5e13d857e6c436a136","responseTime":1579,"status":200,"url":"/callbacks/experiment"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:31Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.833718,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:31Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397891,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5MX0.2Q1_CXJHOrFoq3AqOsjLO8soimetdiip0LW8T-vL298"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2662e9a92c1c4363872210fc4d467ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4307b836-83d5-46fa-974f-d47e4bd35dde' closed"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F012dedb5-1835-4047-997b-905074592c6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d2a80bb1-9dd5-4a46-b9bb-d94cae37827e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397892.3158987} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2662e9a92c1c4363872210fc4d467ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8dac164a-a8cb-401e-8174-4eeb80711964","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397892.325726} authorization_1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2662e9a92c1c4363872210fc4d467ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F012dedb5-1835-4047-997b-905074592c6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"5e4e7a9a-a7d6-4370-8017-dd2c98978242","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397892.498012} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c8bf22fc-4de9-4d03-8286-5ba4cfc4fc03","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397892.4982524} authorization_1 | {"level":"info","message":"POST /relations/update 200 175ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2662e9a92c1c4363872210fc4d467ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":175}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F012dedb5-1835-4047-997b-905074592c6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F012dedb5-1835-4047-997b-905074592c6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:11:32.497981322Z"}]},"request_id":"73c748ab-d245-4bdf-a9e9-09fe4d61e5f1","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397892.5056643} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2662e9a92c1c4363872210fc4d467ab"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 548ms","method":"POST","requestID":"e2662e9a92c1c4363872210fc4d467ab","responseTime":548,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:11:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.563","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e2662e9a92c1c4363872210fc4d467ab"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5Mn0.-D_TbsRWU9fr5CRIMX0Z_5uuZtMUDIWctxnmeS-lsVQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e2a6a3ab7431c20d0387a8a8786c63c8","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:32Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.971873,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:32Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397892,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5Mn0.-D_TbsRWU9fr5CRIMX0Z_5uuZtMUDIWctxnmeS-lsVQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2a6a3ab7431c20d0387a8a8786c63c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795b0be7-b154-47d4-b1bc-a15034b9bdbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"efde5830-f921-41c3-aa8d-b49a4d8844e3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397892.6919684} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2a6a3ab7431c20d0387a8a8786c63c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a015d041-7a5a-4b5c-8ac8-ebbf794e5f73","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397892.70006} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2a6a3ab7431c20d0387a8a8786c63c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795b0be7-b154-47d4-b1bc-a15034b9bdbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"26ac7a52-c344-44bb-8bcb-a398b49e8d5f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397892.9999022} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7fefa234-f591-453e-86b9-cc9e32182cf0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397893.000249} authorization_1 | {"level":"info","message":"POST /relations/update 200 303ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2a6a3ab7431c20d0387a8a8786c63c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":303}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795b0be7-b154-47d4-b1bc-a15034b9bdbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795b0be7-b154-47d4-b1bc-a15034b9bdbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:11:32.999869776Z"}]},"request_id":"fe524035-d321-4288-9a48-6e2f75167a34","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397893.0086372} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e2a6a3ab7431c20d0387a8a8786c63c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 495ms","method":"POST","requestID":"e2a6a3ab7431c20d0387a8a8786c63c8","responseTime":495,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:11:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.523","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e2a6a3ab7431c20d0387a8a8786c63c8"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"53e142851ae5e9225b96458d6f1dba37","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:11:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/012dedb5-1835-4047-997b-905074592c6e/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":"53e142851ae5e9225b96458d6f1dba37"} device_1 | {"level":"info","message":"OPTIONS /devices/012dedb5-1835-4047-997b-905074592c6e/websocket 200 1ms","method":"OPTIONS","requestID":"53e142851ae5e9225b96458d6f1dba37","responseTime":1,"status":200,"url":"/devices/012dedb5-1835-4047-997b-905074592c6e/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5NH0.gyexGjB5OzCeliotVpfIAYmgxVXbCj0QTYDTLKFxnHQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8a7b39c11605deba0ed666485090c50c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:34Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.484008,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:34Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397894,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5NH0.gyexGjB5OzCeliotVpfIAYmgxVXbCj0QTYDTLKFxnHQ"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"954b9e87afc2c94083f6eae91d1ef5da","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8a7b39c11605deba0ed666485090c50c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway_1 | {"time_local":"08/Feb/2024:13:11:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.007","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"954b9e87afc2c94083f6eae91d1ef5da"} device_1 | {"level":"info","message":"OPTIONS /devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd/websocket 200 1ms","method":"OPTIONS","requestID":"954b9e87afc2c94083f6eae91d1ef5da","responseTime":1,"status":200,"url":"/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5NH0.gyexGjB5OzCeliotVpfIAYmgxVXbCj0QTYDTLKFxnHQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a67a6f05231670c524db8bf2757c8a3d","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:34Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.777176,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:34Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397894,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5NH0.gyexGjB5OzCeliotVpfIAYmgxVXbCj0QTYDTLKFxnHQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a67a6f05231670c524db8bf2757c8a3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/012dedb5-1835-4047-997b-905074592c6e/websocket 200 185ms","method":"POST","requestID":"8a7b39c11605deba0ed666485090c50c","responseTime":185,"status":200,"url":"/devices/012dedb5-1835-4047-997b-905074592c6e/websocket"} gateway_1 | {"time_local":"08/Feb/2024:13:11:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/012dedb5-1835-4047-997b-905074592c6e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.191","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8a7b39c11605deba0ed666485090c50c"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:11:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.312","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"a67a6f05231670c524db8bf2757c8a3d"} device_1 | {"level":"info","message":"POST /devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd/websocket 200 307ms","method":"POST","requestID":"a67a6f05231670c524db8bf2757c8a3d","responseTime":307,"status":200,"url":"/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5NX0.05yPCUUmlqk8b0vleu5c8E01nnNtCE8So-t1Ahq4Qio","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"01608b3ce7793e0373c2a89cd55de517","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:35Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.189167,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397895,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5NX0.05yPCUUmlqk8b0vleu5c8E01nnNtCE8So-t1Ahq4Qio"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"01608b3ce7793e0373c2a89cd55de517"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F012dedb5-1835-4047-997b-905074592c6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F012dedb5-1835-4047-997b-905074592c6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:11:32.497981322Z"}]},"request_id":"180c301d-9eb2-4fac-a650-fca007887f45","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397895.6379843} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"01608b3ce7793e0373c2a89cd55de517"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:11:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/012dedb5-1835-4047-997b-905074592c6e? 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":"01608b3ce7793e0373c2a89cd55de517"} device_1 | {"level":"info","message":"GET /devices/012dedb5-1835-4047-997b-905074592c6e? 200 18ms","method":"GET","requestID":"01608b3ce7793e0373c2a89cd55de517","responseTime":18,"status":200,"url":"/devices/012dedb5-1835-4047-997b-905074592c6e?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5NX0.05yPCUUmlqk8b0vleu5c8E01nnNtCE8So-t1Ahq4Qio","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9f47b35542ceaa9793bbc16c336881fb","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:35Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.036859,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:35Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397895,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5NX0.05yPCUUmlqk8b0vleu5c8E01nnNtCE8So-t1Ahq4Qio"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f47b35542ceaa9793bbc16c336881fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795b0be7-b154-47d4-b1bc-a15034b9bdbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795b0be7-b154-47d4-b1bc-a15034b9bdbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:11:32.999869776Z"}]},"request_id":"41f6fc89-fc2c-4d9d-8204-a9b9bc2f10ce","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397895.6618857} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9f47b35542ceaa9793bbc16c336881fb"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:11:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd? 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":"9f47b35542ceaa9793bbc16c336881fb"} device_1 | {"level":"info","message":"GET /devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd? 200 17ms","method":"GET","requestID":"9f47b35542ceaa9793bbc16c336881fb","responseTime":17,"status":200,"url":"/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5NX0.05yPCUUmlqk8b0vleu5c8E01nnNtCE8So-t1Ahq4Qio","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"eee6aacf577963701f0e007b3c6850c8","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:35Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.098643,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:35Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397895,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5NX0.05yPCUUmlqk8b0vleu5c8E01nnNtCE8So-t1Ahq4Qio"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eee6aacf577963701f0e007b3c6850c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.152705,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397895,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5NX0.05yPCUUmlqk8b0vleu5c8E01nnNtCE8So-t1Ahq4Qio"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"965348c0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:55258","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"client_addr":"127.0.0.1:55258","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.033901,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397895,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5NX0.05yPCUUmlqk8b0vleu5c8E01nnNtCE8So-t1Ahq4Qio"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9653e500-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F012dedb5-1835-4047-997b-905074592c6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F012dedb5-1835-4047-997b-905074592c6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:11:32.497981322Z"}]},"request_id":"fa6f7b1f-ffc1-48cc-af30-c9b04dcab67d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397896.0274568} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"965348c0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795b0be7-b154-47d4-b1bc-a15034b9bdbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795b0be7-b154-47d4-b1bc-a15034b9bdbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:11:32.999869776Z"}]},"request_id":"f234c226-5a35-467b-baa3-9729f9e5a375","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397896.0300126} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9653e500-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/012dedb5-1835-4047-997b-905074592c6e? 200 23ms","method":"GET","requestID":"965348c0-c683-11ee-9765-47e7fd15fc3d","responseTime":23,"status":200,"url":"/devices/012dedb5-1835-4047-997b-905074592c6e?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd? 200 20ms","method":"GET","requestID":"9653e500-c683-11ee-9765-47e7fd15fc3d","responseTime":20,"status":200,"url":"/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.474421,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397895,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5NX0.05yPCUUmlqk8b0vleu5c8E01nnNtCE8So-t1Ahq4Qio"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"969f45e0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:55258","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"client_addr":"127.0.0.1:55258","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.263366,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397895,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5NX0.05yPCUUmlqk8b0vleu5c8E01nnNtCE8So-t1Ahq4Qio"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"969f6cf0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F012dedb5-1835-4047-997b-905074592c6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F012dedb5-1835-4047-997b-905074592c6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:11:32.497981322Z"}]},"request_id":"f3b54bec-424a-412e-83fd-7d84dbf1d23f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397896.524113} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"969f45e0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795b0be7-b154-47d4-b1bc-a15034b9bdbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795b0be7-b154-47d4-b1bc-a15034b9bdbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:11:32.999869776Z"}]},"request_id":"47b1333d-1d44-4093-a7f7-40d6658ceb39","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397896.5251834} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"969f6cf0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/012dedb5-1835-4047-997b-905074592c6e? 200 21ms","method":"GET","requestID":"969f45e0-c683-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/012dedb5-1835-4047-997b-905074592c6e?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd? 200 21ms","method":"GET","requestID":"969f6cf0-c683-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.903646,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96a2ef60-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/012dedb5-1835-4047-997b-905074592c6e/signaling 200 8ms","method":"POST","requestID":"96a2ef60-c683-11ee-9765-47e7fd15fc3d","responseTime":8,"status":200,"url":"/devices/012dedb5-1835-4047-997b-905074592c6e/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.895577,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96a47600-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd/signaling 200 8ms","method":"POST","requestID":"96a47600-c683-11ee-9765-47e7fd15fc3d","responseTime":8,"status":200,"url":"/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"13125964-04d5-4789-acb9-e782711d8daa"},{"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":"b19bde8b-0b13-4960-9cf7-802f67e5286d"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"cd4fe349-48bb-4d1e-9a62-3a563bf6b4ac"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd"},{"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/012dedb5-1835-4047-997b-905074592c6e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.67856,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397895,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5NX0.05yPCUUmlqk8b0vleu5c8E01nnNtCE8So-t1Ahq4Qio"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96a623b0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F592df5a2-48b6-40c5-b8c3-37a8ee9b30f9#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F592df5a2-48b6-40c5-b8c3-37a8ee9b30f9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"8064adef-fd67-4455-bc3c-407ff2d7ee7f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397896.707425} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5642f4e-16d8-45ea-b7ac-c1ef09637bb6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397896.7076638} authorization_1 | {"level":"info","message":"POST /relations/update 200 192ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eee6aacf577963701f0e007b3c6850c8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":192}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"6cfa9402-3ed1-4018-b943-cd220077f538","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397896.7095177} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"099c517c-b9c8-418e-8edd-00f8b6e4ab8d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397896.7098806} authorization_1 | {"level":"info","message":"POST /relations/update 200 149ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"96a623b0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":149}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1048ms","method":"POST","requestID":"eee6aacf577963701f0e007b3c6850c8","responseTime":1048,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:11:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"1.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eee6aacf577963701f0e007b3c6850c8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5Nn0.WK4q226fRdaFfwUIXeL783HEHjrLboeXABzJ3zAgb5s","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"db3a045e2e3ec85c946314a583d3ec0f","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.201323,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397896,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5Nn0.WK4q226fRdaFfwUIXeL783HEHjrLboeXABzJ3zAgb5s"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db3a045e2e3ec85c946314a583d3ec0f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F012dedb5-1835-4047-997b-905074592c6e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F012dedb5-1835-4047-997b-905074592c6e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:11:32.497981322Z"}]},"request_id":"3aa1d800-10d2-447b-9c8f-ab1972ba9b47","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397896.7426174} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db3a045e2e3ec85c946314a583d3ec0f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 329ms","method":"POST","requestID":"96a623b0-c683-11ee-9765-47e7fd15fc3d","responseTime":329,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:11:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/012dedb5-1835-4047-997b-905074592c6e? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.160","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db3a045e2e3ec85c946314a583d3ec0f"} device_1 | {"level":"info","message":"GET /devices/012dedb5-1835-4047-997b-905074592c6e? 200 155ms","method":"GET","requestID":"db3a045e2e3ec85c946314a583d3ec0f","responseTime":155,"status":200,"url":"/devices/012dedb5-1835-4047-997b-905074592c6e?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5Nn0.WK4q226fRdaFfwUIXeL783HEHjrLboeXABzJ3zAgb5s","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7a717b0b55768fec52c0e4d3944d03cd","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"client_addr":"127.0.0.1:55244","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.032168,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:11:36Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397896,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzg5Nn0.WK4q226fRdaFfwUIXeL783HEHjrLboeXABzJ3zAgb5s"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a717b0b55768fec52c0e4d3944d03cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795b0be7-b154-47d4-b1bc-a15034b9bdbd","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F795b0be7-b154-47d4-b1bc-a15034b9bdbd","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:11:32.999869776Z"}]},"request_id":"1160d8c2-c5fb-4fd2-9109-3ef297fc2e50","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397896.9031684} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7a717b0b55768fec52c0e4d3944d03cd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:11:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd? 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":"7a717b0b55768fec52c0e4d3944d03cd"} device_1 | {"level":"info","message":"GET /devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd? 200 12ms","method":"GET","requestID":"7a717b0b55768fec52c0e4d3944d03cd","responseTime":12,"status":200,"url":"/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/c11e3b29-8ca2-4af4-97b0-0f87a2ef7817'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/7634cb98-e6ff-4533-9bd8-3081e1a235a1'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/8c37861b-9895-4519-87d4-60577bf4b897'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/b4390a35-54d5-4b39-bcab-1eaa05b921d8'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd'"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"1d2cc937-45d1-42fd-8a56-5b44fb9c4857","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3356f8c6c6b49f743953320bf9d14a37","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/795b0be7-b154-47d4-b1bc-a15034b9bdbd"},{"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/012dedb5-1835-4047-997b-905074592c6e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"3356f8c6c6b49f743953320bf9d14a37","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:12:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"3356f8c6c6b49f743953320bf9d14a37"} device_1 | {"data":{"peerconnection":"1d2cc937-45d1-42fd-8a56-5b44fb9c4857","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzkzN30.QYXoalJ_QAxPuWM4nwOWOUQomkSvgkMR7IX7dIbdonw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"cfa1d710c799b3b8cf2234e22ad3330e","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:17Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.516158,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:17Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397937,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzkzN30.QYXoalJ_QAxPuWM4nwOWOUQomkSvgkMR7IX7dIbdonw"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cfa1d710c799b3b8cf2234e22ad3330e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"} gateway_1 | {"time_local":"08/Feb/2024:13:12:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9 HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cfa1d710c799b3b8cf2234e22ad3330e"} experiment_1 | {"level":"info","message":"GET /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9 200 19ms","method":"GET","requestID":"cfa1d710c799b3b8cf2234e22ad3330e","responseTime":19,"status":200,"url":"/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"} device_1 | {"data":{"peerconnection":"1d2cc937-45d1-42fd-8a56-5b44fb9c4857","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzkzN30.QYXoalJ_QAxPuWM4nwOWOUQomkSvgkMR7IX7dIbdonw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"38c0969b14726f61195dc50ad30511e3","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:17Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.177406,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:17Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397937,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzkzN30.QYXoalJ_QAxPuWM4nwOWOUQomkSvgkMR7IX7dIbdonw"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"38c0969b14726f61195dc50ad30511e3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"} gateway_1 | {"time_local":"08/Feb/2024:13:12:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9 HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"38c0969b14726f61195dc50ad30511e3"} experiment_1 | {"level":"info","message":"GET /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9 200 19ms","method":"GET","requestID":"38c0969b14726f61195dc50ad30511e3","responseTime":19,"status":200,"url":"/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"1d2cc937-45d1-42fd-8a56-5b44fb9c4857","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"62f775c4832d2737ea4f5c1d3bd91e80","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/795b0be7-b154-47d4-b1bc-a15034b9bdbd"},{"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/012dedb5-1835-4047-997b-905074592c6e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:17Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1d2cc937-45d1-42fd-8a56-5b44fb9c4857","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4d1d15a2-d59a-4091-892c-a0928c813fc9","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397937.392948} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.696598,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:17Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aefc4d90-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzkzN30.QYXoalJ_QAxPuWM4nwOWOUQomkSvgkMR7IX7dIbdonw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c0a2ddb6c686018e1b514065433d8f73","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:17Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.307303,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:17Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397937,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzkzN30.QYXoalJ_QAxPuWM4nwOWOUQomkSvgkMR7IX7dIbdonw"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c0a2ddb6c686018e1b514065433d8f73"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"} gateway_1 | {"time_local":"08/Feb/2024:13:12:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9 HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c0a2ddb6c686018e1b514065433d8f73"} experiment_1 | {"level":"info","message":"GET /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9 200 16ms","method":"GET","requestID":"c0a2ddb6c686018e1b514065433d8f73","responseTime":16,"status":200,"url":"/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857 200 161ms","method":"GET","requestID":"aefc4d90-c683-11ee-9765-47e7fd15fc3d","responseTime":161,"status":200,"url":"/peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzkzN30.QYXoalJ_QAxPuWM4nwOWOUQomkSvgkMR7IX7dIbdonw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c6e3db605f4a92757e47874f857a3986","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:17Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.128417,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:17Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397937,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzkzN30.QYXoalJ_QAxPuWM4nwOWOUQomkSvgkMR7IX7dIbdonw"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c6e3db605f4a92757e47874f857a3986"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 353ms","method":"POST","requestID":"62f775c4832d2737ea4f5c1d3bd91e80","responseTime":353,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:12: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.357","http_referrer":"","http_user_agent":"node-fetch","requestID":"62f775c4832d2737ea4f5c1d3bd91e80"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"} gateway_1 | {"time_local":"08/Feb/2024:13:12:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9 HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.178","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c6e3db605f4a92757e47874f857a3986"} experiment_1 | {"level":"info","message":"GET /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9 200 173ms","method":"GET","requestID":"c6e3db605f4a92757e47874f857a3986","responseTime":173,"status":200,"url":"/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzkzN30.QYXoalJ_QAxPuWM4nwOWOUQomkSvgkMR7IX7dIbdonw","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"4949e54c4b2e68a2a3e927abfb2ef2e4","responseTime":6,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:17Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.310055,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:17Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397937,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzkzN30.QYXoalJ_QAxPuWM4nwOWOUQomkSvgkMR7IX7dIbdonw"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4949e54c4b2e68a2a3e927abfb2ef2e4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:17Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.234299,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:17Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397937,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzkzN30.QYXoalJ_QAxPuWM4nwOWOUQomkSvgkMR7IX7dIbdonw"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af35fb30-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"1d2cc937-45d1-42fd-8a56-5b44fb9c4857","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1d2cc937-45d1-42fd-8a56-5b44fb9c4857': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1d2cc937-45d1-42fd-8a56-5b44fb9c4857","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"8a6c9a42-10a5-41da-b3db-4bdbe71b7ee2","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397937.78363} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4ceda251-d618-42cf-9216-5e34413f379a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397937.7841718} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ca62e9c359bf7219dce8214124a55504","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af35fb30-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bc72b5ac423f85f6c9e32b846ac99aae","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/795b0be7-b154-47d4-b1bc-a15034b9bdbd"},{"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/012dedb5-1835-4047-997b-905074592c6e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd"},{"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/012dedb5-1835-4047-997b-905074592c6e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857 204 301ms","method":"DELETE","requestID":"af35fb30-c683-11ee-9765-47e7fd15fc3d","responseTime":301,"status":204,"url":"/peerconnections/1d2cc937-45d1-42fd-8a56-5b44fb9c4857"} device_1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e'"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F592df5a2-48b6-40c5-b8c3-37a8ee9b30f9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F592df5a2-48b6-40c5-b8c3-37a8ee9b30f9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"29c3a1f9-4c8d-4b93-bab8-b06e58962c78","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397938.383995} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bcf30b93-c13c-425e-a886-a5800abdce69","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397938.3843913} authorization_1 | {"level":"info","message":"POST /relations/update 200 173ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4949e54c4b2e68a2a3e927abfb2ef2e4"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":173}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"} gateway_1 | {"time_local":"08/Feb/2024:13:12:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.530","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4949e54c4b2e68a2a3e927abfb2ef2e4"} experiment_1 | {"level":"info","message":"DELETE /experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9 204 1524ms","method":"DELETE","requestID":"4949e54c4b2e68a2a3e927abfb2ef2e4","responseTime":1524,"status":204,"url":"/experiments/592df5a2-48b6-40c5-b8c3-37a8ee9b30f9"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1488ms","method":"POST","requestID":"ca62e9c359bf7219dce8214124a55504","responseTime":1488,"status":200,"url":"/callbacks/experiment"} device_1 | {"level":"info","message":"postDevices called"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzkzOX0.e6qMbRgZ2iF1H5xgGGUjs8t74vEiqv_U-lwzX-HN-ms","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"ad34cbd5826136dc56d2bc73791c7d8e","responseTime":6,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:12: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":"1.495","http_referrer":"","http_user_agent":"node-fetch","requestID":"ca62e9c359bf7219dce8214124a55504"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1494ms","method":"POST","requestID":"bc72b5ac423f85f6c9e32b846ac99aae","responseTime":1494,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:12: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":"1.499","http_referrer":"","http_user_agent":"node-fetch","requestID":"bc72b5ac423f85f6c9e32b846ac99aae"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:19Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.01388,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:19Z"} gateway_1 | {"time_local":"08/Feb/2024:13:12:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1692","request_time":"44.160","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5c8d7b3c01a22b65e8abff8368053978"} gateway_1 | {"time_local":"08/Feb/2024:13:12:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1691","request_time":"44.016","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2345e052d3dfd4bc08abcccbd167e368"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397939,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzkzOX0.e6qMbRgZ2iF1H5xgGGUjs8t74vEiqv_U-lwzX-HN-ms"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad34cbd5826136dc56d2bc73791c7d8e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbaaae68-caa2-4e54-b106-029bfc32d2de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"26cc4687-8916-4ff9-88ff-7ea2f17de38d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397939.3012636} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad34cbd5826136dc56d2bc73791c7d8e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3521a87f-fdb0-4459-a5eb-89cac837f8c9","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397939.3062153} authorization_1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad34cbd5826136dc56d2bc73791c7d8e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e' closed"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbaaae68-caa2-4e54-b106-029bfc32d2de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"5ba1dc34-7d3f-48ff-b3d0-badb8447670a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397939.5736835} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2d3becc5-f57f-4222-b8a9-95d110c14c75","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397939.5741255} authorization_1 | {"level":"info","message":"POST /relations/update 200 271ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad34cbd5826136dc56d2bc73791c7d8e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":271}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbaaae68-caa2-4e54-b106-029bfc32d2de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbaaae68-caa2-4e54-b106-029bfc32d2de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:12:19.573644409Z"}]},"request_id":"b263e514-04ea-4970-bba4-c746285f9b36","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397939.582704} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad34cbd5826136dc56d2bc73791c7d8e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 305ms","method":"POST","requestID":"ad34cbd5826136dc56d2bc73791c7d8e","responseTime":305,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:12: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.314","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ad34cbd5826136dc56d2bc73791c7d8e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzkzOX0.e6qMbRgZ2iF1H5xgGGUjs8t74vEiqv_U-lwzX-HN-ms","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b70c24272cbe0998e646f8d631c3b3d8","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:19Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.152716,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:19Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397939,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5NzkzOX0.e6qMbRgZ2iF1H5xgGGUjs8t74vEiqv_U-lwzX-HN-ms"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b70c24272cbe0998e646f8d631c3b3d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8450e838-a7ee-4b78-97ba-0a266e0ff594","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"3b788555-b3c5-4b29-8b71-f77561298b40","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397939.7503116} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b70c24272cbe0998e646f8d631c3b3d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9def1bd9-60e8-410d-9d2d-f12d3c0c15c0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397939.758175} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b70c24272cbe0998e646f8d631c3b3d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8450e838-a7ee-4b78-97ba-0a266e0ff594","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"11ef0bcf-5386-474f-9210-c6c5a879370b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397939.9252307} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e12fe69c-9332-4a98-9b76-14178d5549db","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397939.9255176} authorization_1 | {"level":"info","message":"POST /relations/update 200 170ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b70c24272cbe0998e646f8d631c3b3d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":170}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8450e838-a7ee-4b78-97ba-0a266e0ff594","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8450e838-a7ee-4b78-97ba-0a266e0ff594","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:12:19.925199641Z"}]},"request_id":"ea4efff3-9404-4e59-b996-629ab7fef025","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397939.9326422} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b70c24272cbe0998e646f8d631c3b3d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 344ms","method":"POST","requestID":"b70c24272cbe0998e646f8d631c3b3d8","responseTime":344,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:12:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.375","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b70c24272cbe0998e646f8d631c3b3d8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0MH0.7p2vBiEDZjIZnoRyFWVyN49VCemIzNpfYtFzeJXLdHI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"54ddca61c892739960882472b110da4a","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:20Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.910876,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:20Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397940,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0MH0.7p2vBiEDZjIZnoRyFWVyN49VCemIzNpfYtFzeJXLdHI"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54ddca61c892739960882472b110da4a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8450e838-a7ee-4b78-97ba-0a266e0ff594","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8450e838-a7ee-4b78-97ba-0a266e0ff594","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:12:19.925199641Z"}]},"request_id":"161f119f-7b39-4643-b062-f7e0c8b50974","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397940.435088} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54ddca61c892739960882472b110da4a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ea829677-056f-4702-ad66-2ec195bc8da7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397940.4433553} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54ddca61c892739960882472b110da4a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8450e838-a7ee-4b78-97ba-0a266e0ff594","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8450e838-a7ee-4b78-97ba-0a266e0ff594","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:12:19.925199641Z"}]},"request_id":"ad83c945-fa24-42a3-9e97-188223c31f7d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397940.618632} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"54ddca61c892739960882472b110da4a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:12:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8450e838-a7ee-4b78-97ba-0a266e0ff594 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.205","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"54ddca61c892739960882472b110da4a"} device_1 | {"level":"info","message":"PATCH /devices/8450e838-a7ee-4b78-97ba-0a266e0ff594 200 200ms","method":"PATCH","requestID":"54ddca61c892739960882472b110da4a","responseTime":200,"status":200,"url":"/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0MH0.7p2vBiEDZjIZnoRyFWVyN49VCemIzNpfYtFzeJXLdHI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1d04752efc83757245ed9b430a2c0749","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:20Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.19854,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:20Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397940,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0MH0.7p2vBiEDZjIZnoRyFWVyN49VCemIzNpfYtFzeJXLdHI"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1d04752efc83757245ed9b430a2c0749"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:12:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8450e838-a7ee-4b78-97ba-0a266e0ff594/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.183","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"1d04752efc83757245ed9b430a2c0749"} device_1 | {"level":"info","message":"POST /devices/8450e838-a7ee-4b78-97ba-0a266e0ff594/websocket 200 176ms","method":"POST","requestID":"1d04752efc83757245ed9b430a2c0749","responseTime":176,"status":200,"url":"/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e1f9d184c58d75dd57451cd4fc502906","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:12:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/bbaaae68-caa2-4e54-b106-029bfc32d2de/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":"e1f9d184c58d75dd57451cd4fc502906"} device_1 | {"level":"info","message":"OPTIONS /devices/bbaaae68-caa2-4e54-b106-029bfc32d2de/websocket 200 2ms","method":"OPTIONS","requestID":"e1f9d184c58d75dd57451cd4fc502906","responseTime":2,"status":200,"url":"/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0MX0.wC2jRZSN94Q-2zzKLt8n8RIoPUzettVKa-MzPA-xM9Y","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"75f7dae6e1033f7331588cf23a9b1042","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:21Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.107363,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:21Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397941,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0MX0.wC2jRZSN94Q-2zzKLt8n8RIoPUzettVKa-MzPA-xM9Y"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"75f7dae6e1033f7331588cf23a9b1042"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:12:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/bbaaae68-caa2-4e54-b106-029bfc32d2de/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.172","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"75f7dae6e1033f7331588cf23a9b1042"} device_1 | {"level":"info","message":"POST /devices/bbaaae68-caa2-4e54-b106-029bfc32d2de/websocket 200 167ms","method":"POST","requestID":"75f7dae6e1033f7331588cf23a9b1042","responseTime":167,"status":200,"url":"/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0Mn0._DEsWAnUn9yDpv2k3tODSpEtByrvcgxivW9yXv-206g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"10cb96d8524e22d27ab4dcfff64f1426","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:22Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.113937,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397942,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0Mn0._DEsWAnUn9yDpv2k3tODSpEtByrvcgxivW9yXv-206g"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10cb96d8524e22d27ab4dcfff64f1426"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbaaae68-caa2-4e54-b106-029bfc32d2de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbaaae68-caa2-4e54-b106-029bfc32d2de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:12:19.573644409Z"}]},"request_id":"86caa586-90cc-43da-aece-bb7efa89007d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397942.239887} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10cb96d8524e22d27ab4dcfff64f1426"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/bbaaae68-caa2-4e54-b106-029bfc32d2de? 200 17ms","method":"GET","requestID":"10cb96d8524e22d27ab4dcfff64f1426","responseTime":17,"status":200,"url":"/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de?"} gateway_1 | {"time_local":"08/Feb/2024:13:12:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bbaaae68-caa2-4e54-b106-029bfc32d2de? 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":"10cb96d8524e22d27ab4dcfff64f1426"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0Mn0._DEsWAnUn9yDpv2k3tODSpEtByrvcgxivW9yXv-206g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"aabe5e8df496a738264502c128f52c3e","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:22Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.295498,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397942,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0Mn0._DEsWAnUn9yDpv2k3tODSpEtByrvcgxivW9yXv-206g"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aabe5e8df496a738264502c128f52c3e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8450e838-a7ee-4b78-97ba-0a266e0ff594","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8450e838-a7ee-4b78-97ba-0a266e0ff594","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:12:19.925199641Z"}]},"request_id":"fc71c4a8-0c46-4adf-a225-801f67188a25","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397942.2642932} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aabe5e8df496a738264502c128f52c3e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:12:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8450e838-a7ee-4b78-97ba-0a266e0ff594? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aabe5e8df496a738264502c128f52c3e"} device_1 | {"level":"info","message":"GET /devices/8450e838-a7ee-4b78-97ba-0a266e0ff594? 200 17ms","method":"GET","requestID":"aabe5e8df496a738264502c128f52c3e","responseTime":17,"status":200,"url":"/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0Mn0._DEsWAnUn9yDpv2k3tODSpEtByrvcgxivW9yXv-206g","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"93e97435268ceda12c001f0a3683c674","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:22Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.207905,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:22Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397942,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0Mn0._DEsWAnUn9yDpv2k3tODSpEtByrvcgxivW9yXv-206g"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"93e97435268ceda12c001f0a3683c674"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:22Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.382593,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397942,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0Mn0._DEsWAnUn9yDpv2k3tODSpEtByrvcgxivW9yXv-206g"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b21881b0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:59088","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:22Z"} authorization_1 | {"client_addr":"127.0.0.1:59088","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947203,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:22Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397942,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0Mn0._DEsWAnUn9yDpv2k3tODSpEtByrvcgxivW9yXv-206g"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2191df0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbaaae68-caa2-4e54-b106-029bfc32d2de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbaaae68-caa2-4e54-b106-029bfc32d2de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:12:19.573644409Z"}]},"request_id":"48cba560-6faa-406a-8c8c-8b161ffddff9","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397942.6173606} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b21881b0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8450e838-a7ee-4b78-97ba-0a266e0ff594","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8450e838-a7ee-4b78-97ba-0a266e0ff594","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:12:19.925199641Z"}]},"request_id":"e006c15d-799b-4928-9cc6-5529b46091e6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397942.622441} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/bbaaae68-caa2-4e54-b106-029bfc32d2de? 200 21ms","method":"GET","requestID":"b21881b0-c683-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de?"} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2191df0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/8450e838-a7ee-4b78-97ba-0a266e0ff594? 200 21ms","method":"GET","requestID":"b2191df0-c683-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:23Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.349523,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:23Z"} authorization_1 | {"client_addr":"127.0.0.1:59088","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:23Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397942,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0Mn0._DEsWAnUn9yDpv2k3tODSpEtByrvcgxivW9yXv-206g"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b26960d0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:59088","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.12364,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:23Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397942,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0Mn0._DEsWAnUn9yDpv2k3tODSpEtByrvcgxivW9yXv-206g"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b26987e0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbaaae68-caa2-4e54-b106-029bfc32d2de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbaaae68-caa2-4e54-b106-029bfc32d2de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:12:19.573644409Z"}]},"request_id":"529ae728-6953-4f9d-a619-c48a5b07a791","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397943.1468966} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b26960d0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8450e838-a7ee-4b78-97ba-0a266e0ff594","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8450e838-a7ee-4b78-97ba-0a266e0ff594","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:12:19.925199641Z"}]},"request_id":"205d4f14-fb84-4a65-9425-fe455d9b8c66","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397943.1476052} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b26987e0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/bbaaae68-caa2-4e54-b106-029bfc32d2de? 200 20ms","method":"GET","requestID":"b26960d0-c683-11ee-9765-47e7fd15fc3d","responseTime":20,"status":200,"url":"/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/8450e838-a7ee-4b78-97ba-0a266e0ff594? 200 19ms","method":"GET","requestID":"b26987e0-c683-11ee-9765-47e7fd15fc3d","responseTime":19,"status":200,"url":"/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:23Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.76998,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:23Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b26cbc30-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/bbaaae68-caa2-4e54-b106-029bfc32d2de/signaling 200 8ms","method":"POST","requestID":"b26cbc30-c683-11ee-9765-47e7fd15fc3d","responseTime":8,"status":200,"url":"/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:23Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.889867,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:23Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b26e69e0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/8450e838-a7ee-4b78-97ba-0a266e0ff594/signaling 200 9ms","method":"POST","requestID":"b26e69e0-c683-11ee-9765-47e7fd15fc3d","responseTime":9,"status":200,"url":"/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"9b32dbb3-3896-451b-b03f-73f2767eec1f"},{"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":"dcdf934f-a920-42b4-a6e1-8721b52e9dfa"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"4d9e16c3-6cf7-44da-b7e2-41e533f7fcb5"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594"},{"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/bbaaae68-caa2-4e54-b106-029bfc32d2de"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:23Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.957253,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:23Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397942,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0Mn0._DEsWAnUn9yDpv2k3tODSpEtByrvcgxivW9yXv-206g"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2703ea0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d6aca58-3eab-4d66-935d-05325d36e04c#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d6aca58-3eab-4d66-935d-05325d36e04c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"fab695f2-3ebc-4bd8-a6e2-fa3e85b0b0b6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397943.3247476} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"727b826b-a909-477e-bd78-3bece6d26272","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397943.325179} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"d426b11d-dd83-41c9-b1ab-9ba1bcf4d334","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397943.3264885} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e9494b6b-4047-49c4-b5cb-c2e357ea2567","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397943.327077} authorization_1 | {"level":"info","message":"POST /relations/update 200 187ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"93e97435268ceda12c001f0a3683c674"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":187}} authorization_1 | {"level":"info","message":"POST /relations/update 200 139ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2703ea0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":139}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1061ms","method":"POST","requestID":"93e97435268ceda12c001f0a3683c674","responseTime":1061,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:12:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"1.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"93e97435268ceda12c001f0a3683c674"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0M30.ILhFLUi8V3ur2qXZUXDahDR04n3jMZDRCDElmRg048k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"78da8693173a9b622d761e94a96a4018","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:23Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.074218,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:23Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397943,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0M30.ILhFLUi8V3ur2qXZUXDahDR04n3jMZDRCDElmRg048k"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78da8693173a9b622d761e94a96a4018"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbaaae68-caa2-4e54-b106-029bfc32d2de","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fbbaaae68-caa2-4e54-b106-029bfc32d2de","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:12:19.573644409Z"}]},"request_id":"d8f9c807-937f-4b55-973f-b0cbcd567a3b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397943.3568523} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"78da8693173a9b622d761e94a96a4018"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 307ms","method":"POST","requestID":"b2703ea0-c683-11ee-9765-47e7fd15fc3d","responseTime":307,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/bbaaae68-caa2-4e54-b106-029bfc32d2de? 200 141ms","method":"GET","requestID":"78da8693173a9b622d761e94a96a4018","responseTime":141,"status":200,"url":"/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de?"} gateway_1 | {"time_local":"08/Feb/2024:13:12:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/bbaaae68-caa2-4e54-b106-029bfc32d2de? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.145","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78da8693173a9b622d761e94a96a4018"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0M30.ILhFLUi8V3ur2qXZUXDahDR04n3jMZDRCDElmRg048k","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b7f8974a6702a198d2addc64383313f0","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:12:23Z"} authorization_1 | {"client_addr":"127.0.0.1:59082","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.10319,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:12:23Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397943,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk0M30.ILhFLUi8V3ur2qXZUXDahDR04n3jMZDRCDElmRg048k"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b7f8974a6702a198d2addc64383313f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8450e838-a7ee-4b78-97ba-0a266e0ff594","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8450e838-a7ee-4b78-97ba-0a266e0ff594","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:12:19.925199641Z"}]},"request_id":"062638be-6a1c-4e9e-8798-2cc437d065d7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397943.505643} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b7f8974a6702a198d2addc64383313f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:12:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8450e838-a7ee-4b78-97ba-0a266e0ff594? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b7f8974a6702a198d2addc64383313f0"} device_1 | {"level":"info","message":"GET /devices/8450e838-a7ee-4b78-97ba-0a266e0ff594? 200 14ms","method":"GET","requestID":"b7f8974a6702a198d2addc64383313f0","responseTime":14,"status":200,"url":"/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/fe84609b-5b31-462c-a9d2-f6042ce88a95'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/7bc3ce82-6955-452a-a292-a2549f1df6fe'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de'"} device_1 | {"data":{"peerconnection":"e425bf7e-16f0-4fac-a1f9-6634b445eab1","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e425bf7e-16f0-4fac-a1f9-6634b445eab1","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fbeb89e3b675e2b8a0d2010c66232f18","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/8450e838-a7ee-4b78-97ba-0a266e0ff594"},{"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/bbaaae68-caa2-4e54-b106-029bfc32d2de"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 7ms","method":"POST","requestID":"fbeb89e3b675e2b8a0d2010c66232f18","responseTime":7,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:13: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"fbeb89e3b675e2b8a0d2010c66232f18"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4NH0.BrWzXmQl1nT77ESwfXo-KEXiSdPxyX5T1cb_KeNvbXQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"52af8ee821397c99343d81d952ab5863","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:04Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.48194,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397984,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4NH0.BrWzXmQl1nT77ESwfXo-KEXiSdPxyX5T1cb_KeNvbXQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"52af8ee821397c99343d81d952ab5863"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} gateway_1 | {"time_local":"08/Feb/2024:13:13:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"52af8ee821397c99343d81d952ab5863"} experiment_1 | {"level":"info","message":"GET /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c 200 17ms","method":"GET","requestID":"52af8ee821397c99343d81d952ab5863","responseTime":17,"status":200,"url":"/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} device_1 | {"data":{"peerconnection":"e425bf7e-16f0-4fac-a1f9-6634b445eab1","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4NH0.BrWzXmQl1nT77ESwfXo-KEXiSdPxyX5T1cb_KeNvbXQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"16df55040a66a9d9313e9087bce61fae","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:04Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.203307,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397984,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4NH0.BrWzXmQl1nT77ESwfXo-KEXiSdPxyX5T1cb_KeNvbXQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"16df55040a66a9d9313e9087bce61fae"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} gateway_1 | {"time_local":"08/Feb/2024:13:13:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"16df55040a66a9d9313e9087bce61fae"} experiment_1 | {"level":"info","message":"GET /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c 200 16ms","method":"GET","requestID":"16df55040a66a9d9313e9087bce61fae","responseTime":16,"status":200,"url":"/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} device_1 | {"data":{"peerconnection":"e425bf7e-16f0-4fac-a1f9-6634b445eab1","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4NH0.BrWzXmQl1nT77ESwfXo-KEXiSdPxyX5T1cb_KeNvbXQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0dbf8d49fc9f19a0b74ea3639b664c4a","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:04Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":3.074276,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:04Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397984,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4NH0.BrWzXmQl1nT77ESwfXo-KEXiSdPxyX5T1cb_KeNvbXQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0dbf8d49fc9f19a0b74ea3639b664c4a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} experiment_1 | {"level":"info","message":"GET /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c 200 20ms","method":"GET","requestID":"0dbf8d49fc9f19a0b74ea3639b664c4a","responseTime":20,"status":200,"url":"/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} gateway_1 | {"time_local":"08/Feb/2024:13:13:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0dbf8d49fc9f19a0b74ea3639b664c4a"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4NX0.m67maVtUM36UfBH1vso59Tu86poJGRrAX5q930q2Xro","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c3181d904c02ddf18c481a1b79729ab1","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:05Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.290337,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397985,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4NX0.m67maVtUM36UfBH1vso59Tu86poJGRrAX5q930q2Xro"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c3181d904c02ddf18c481a1b79729ab1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e425bf7e-16f0-4fac-a1f9-6634b445eab1","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} experiment_1 | {"level":"info","message":"GET /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c 200 16ms","method":"GET","requestID":"c3181d904c02ddf18c481a1b79729ab1","responseTime":16,"status":200,"url":"/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} gateway_1 | {"time_local":"08/Feb/2024:13:13:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c3181d904c02ddf18c481a1b79729ab1"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"50eef3014fbddda5889891ad204632f2","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/8450e838-a7ee-4b78-97ba-0a266e0ff594"},{"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/bbaaae68-caa2-4e54-b106-029bfc32d2de"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:05Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe425bf7e-16f0-4fac-a1f9-6634b445eab1","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4ca815a6-bca2-44b0-9367-b52fead9738d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397985.0701294} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.652745,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb676370-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4NX0.m67maVtUM36UfBH1vso59Tu86poJGRrAX5q930q2Xro","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6debd095c677848af078e41df8165697","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:05Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.278399,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397985,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4NX0.m67maVtUM36UfBH1vso59Tu86poJGRrAX5q930q2Xro"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6debd095c677848af078e41df8165697"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} gateway_1 | {"time_local":"08/Feb/2024:13:13:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6debd095c677848af078e41df8165697"} experiment_1 | {"level":"info","message":"GET /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c 200 15ms","method":"GET","requestID":"6debd095c677848af078e41df8165697","responseTime":15,"status":200,"url":"/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1 200 151ms","method":"GET","requestID":"cb676370-c683-11ee-9765-47e7fd15fc3d","responseTime":151,"status":200,"url":"/peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4NX0.m67maVtUM36UfBH1vso59Tu86poJGRrAX5q930q2Xro","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0639c1e03447c3bbe75ce49141ed0c3f","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:05Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.485713,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397985,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4NX0.m67maVtUM36UfBH1vso59Tu86poJGRrAX5q930q2Xro"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0639c1e03447c3bbe75ce49141ed0c3f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 315ms","method":"POST","requestID":"50eef3014fbddda5889891ad204632f2","responseTime":315,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:13: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.318","http_referrer":"","http_user_agent":"node-fetch","requestID":"50eef3014fbddda5889891ad204632f2"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} gateway_1 | {"time_local":"08/Feb/2024:13:13:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.098","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0639c1e03447c3bbe75ce49141ed0c3f"} experiment_1 | {"level":"info","message":"GET /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c 200 93ms","method":"GET","requestID":"0639c1e03447c3bbe75ce49141ed0c3f","responseTime":93,"status":200,"url":"/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4NX0.m67maVtUM36UfBH1vso59Tu86poJGRrAX5q930q2Xro","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"43cc9547ba3e070925eef2241c47e839","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:05Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.394385,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:05Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397985,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4NX0.m67maVtUM36UfBH1vso59Tu86poJGRrAX5q930q2Xro"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43cc9547ba3e070925eef2241c47e839"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:05Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.80758,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:05Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397985,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4NX0.m67maVtUM36UfBH1vso59Tu86poJGRrAX5q930q2Xro"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb9b6bc0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"e425bf7e-16f0-4fac-a1f9-6634b445eab1","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c177cc5112c274a7498de5f38b941cbe","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594"},{"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/bbaaae68-caa2-4e54-b106-029bfc32d2de"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f29ffec6c49b8d3ccd3c22ed9e4c3edf","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe425bf7e-16f0-4fac-a1f9-6634b445eab1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fe425bf7e-16f0-4fac-a1f9-6634b445eab1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"42808aaa-5085-4173-905f-c69d73836f22","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397985.4243371} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1edf790c-68db-42f5-bafd-5a5fdd0070b3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397985.424919} 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/8450e838-a7ee-4b78-97ba-0a266e0ff594"},{"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/bbaaae68-caa2-4e54-b106-029bfc32d2de"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cb9b6bc0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"data":{"peerconnection":"e425bf7e-16f0-4fac-a1f9-6634b445eab1","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1 204 328ms","method":"DELETE","requestID":"cb9b6bc0-c683-11ee-9765-47e7fd15fc3d","responseTime":328,"status":204,"url":"/peerconnections/e425bf7e-16f0-4fac-a1f9-6634b445eab1"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d6aca58-3eab-4d66-935d-05325d36e04c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3d6aca58-3eab-4d66-935d-05325d36e04c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"cbec2711-2100-4d8b-aa36-dc055248365c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397986.061951} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fab26072-630b-4c45-a055-171a3a98c7f1","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397986.0622177} authorization_1 | {"level":"info","message":"POST /relations/update 200 165ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"43cc9547ba3e070925eef2241c47e839"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":165}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} gateway_1 | {"time_local":"08/Feb/2024:13:13:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.647","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"43cc9547ba3e070925eef2241c47e839"} gateway_1 | {"time_local":"08/Feb/2024:13:13:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1689","request_time":"46.219","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"6501d0e79fdf24519f144d16698d2776"} experiment_1 | {"level":"info","message":"DELETE /experiments/3d6aca58-3eab-4d66-935d-05325d36e04c 204 1643ms","method":"DELETE","requestID":"43cc9547ba3e070925eef2241c47e839","responseTime":1643,"status":204,"url":"/experiments/3d6aca58-3eab-4d66-935d-05325d36e04c"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1613ms","method":"POST","requestID":"c177cc5112c274a7498de5f38b941cbe","responseTime":1613,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:13: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":"1.616","http_referrer":"","http_user_agent":"node-fetch","requestID":"c177cc5112c274a7498de5f38b941cbe"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1612ms","method":"POST","requestID":"f29ffec6c49b8d3ccd3c22ed9e4c3edf","responseTime":1612,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:13: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":"1.617","http_referrer":"","http_user_agent":"node-fetch","requestID":"f29ffec6c49b8d3ccd3c22ed9e4c3edf"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4N30.dtD7iAVfl5868QCwNaCjoYjK_lldk5D4HP7l5Nezfzg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"ebd34c7d87f73e05b36b4463d352a879","responseTime":7,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:13:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1721","request_time":"44.994","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"173d52e07b4d09fcae0021481584e181"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:07Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.909263,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:07Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397987,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4N30.dtD7iAVfl5868QCwNaCjoYjK_lldk5D4HP7l5Nezfzg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebd34c7d87f73e05b36b4463d352a879"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8450e838-a7ee-4b78-97ba-0a266e0ff594' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F722a27c0-f673-443f-91ef-9d496aa33f38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"161fdb37-ec90-43c1-9679-2a3b881a21d5","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397987.378981} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebd34c7d87f73e05b36b4463d352a879"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ed30270-b9ee-4958-a78b-ea16637c13a1","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397987.3881402} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebd34c7d87f73e05b36b4463d352a879"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/bbaaae68-caa2-4e54-b106-029bfc32d2de' closed"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F722a27c0-f673-443f-91ef-9d496aa33f38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"0c039a93-9ec9-434d-9d1e-f7c3c1780eb1","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397987.625699} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f8146fc-dd88-41e5-ae8f-9d2dce2dac8c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397987.6260674} authorization_1 | {"level":"info","message":"POST /relations/update 200 241ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebd34c7d87f73e05b36b4463d352a879"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":241}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F722a27c0-f673-443f-91ef-9d496aa33f38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F722a27c0-f673-443f-91ef-9d496aa33f38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:07.625660592Z"}]},"request_id":"7bea35b8-50d7-48f6-9c89-e587d8b9bea0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397987.6339114} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebd34c7d87f73e05b36b4463d352a879"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 595ms","method":"POST","requestID":"ebd34c7d87f73e05b36b4463d352a879","responseTime":595,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:13: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.606","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ebd34c7d87f73e05b36b4463d352a879"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4N30.dtD7iAVfl5868QCwNaCjoYjK_lldk5D4HP7l5Nezfzg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dd5a4ad28f04ade966a7bdbd2d954908","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:07Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.822415,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:07Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397987,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4N30.dtD7iAVfl5868QCwNaCjoYjK_lldk5D4HP7l5Nezfzg"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd5a4ad28f04ade966a7bdbd2d954908"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86433965-4fa6-469a-8ac7-fdbd97d30e12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8a966e7d-7ad4-417f-9a9c-bcdc4d59bb82","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397987.8190894} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd5a4ad28f04ade966a7bdbd2d954908"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"37eeb6c4-8aab-47c0-a24e-a14122240ed1","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397987.8285835} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd5a4ad28f04ade966a7bdbd2d954908"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86433965-4fa6-469a-8ac7-fdbd97d30e12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"b0e1ed9d-1622-4b38-8f5c-8c53e65e7133","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397988.0025563} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f13248f6-549f-4476-8d80-a9d9c47fd940","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397988.0029619} authorization_1 | {"level":"info","message":"POST /relations/update 200 177ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd5a4ad28f04ade966a7bdbd2d954908"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":177}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86433965-4fa6-469a-8ac7-fdbd97d30e12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86433965-4fa6-469a-8ac7-fdbd97d30e12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:08.002529328Z"}]},"request_id":"6a501ed2-1d7b-4447-a56c-48d597b709bb","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397988.0103858} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dd5a4ad28f04ade966a7bdbd2d954908"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 369ms","method":"POST","requestID":"dd5a4ad28f04ade966a7bdbd2d954908","responseTime":369,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:13:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.396","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd5a4ad28f04ade966a7bdbd2d954908"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4OH0.1iThRI28WDcBGjaQds-6CTOB581I0E4AD28QFrHfK7Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"561817934b55e89e9454cc3f5e891194","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:08Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.927519,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:08Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397988,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4OH0.1iThRI28WDcBGjaQds-6CTOB581I0E4AD28QFrHfK7Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"561817934b55e89e9454cc3f5e891194"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86433965-4fa6-469a-8ac7-fdbd97d30e12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86433965-4fa6-469a-8ac7-fdbd97d30e12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:08.002529328Z"}]},"request_id":"d6aeca97-0c48-43ea-b846-d53abd920c4e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397988.4976797} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"561817934b55e89e9454cc3f5e891194"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98193414-6627-4847-898b-66d39175587a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397988.5038166} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"561817934b55e89e9454cc3f5e891194"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86433965-4fa6-469a-8ac7-fdbd97d30e12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86433965-4fa6-469a-8ac7-fdbd97d30e12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:08.002529328Z"}]},"request_id":"64ae5353-661b-4a56-bb5f-bda7954f60bd","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397988.6875265} authorization_1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"561817934b55e89e9454cc3f5e891194"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:13:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/86433965-4fa6-469a-8ac7-fdbd97d30e12 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.213","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"561817934b55e89e9454cc3f5e891194"} device_1 | {"level":"info","message":"PATCH /devices/86433965-4fa6-469a-8ac7-fdbd97d30e12 200 207ms","method":"PATCH","requestID":"561817934b55e89e9454cc3f5e891194","responseTime":207,"status":200,"url":"/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4OH0.1iThRI28WDcBGjaQds-6CTOB581I0E4AD28QFrHfK7Q","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a4d7718ef42f0fbef2b0bdaffc0c8b97","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:08Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.767601,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:08Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397988,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4OH0.1iThRI28WDcBGjaQds-6CTOB581I0E4AD28QFrHfK7Q"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a4d7718ef42f0fbef2b0bdaffc0c8b97"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:13:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/86433965-4fa6-469a-8ac7-fdbd97d30e12/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.156","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"a4d7718ef42f0fbef2b0bdaffc0c8b97"} device_1 | {"level":"info","message":"POST /devices/86433965-4fa6-469a-8ac7-fdbd97d30e12/websocket 200 151ms","method":"POST","requestID":"a4d7718ef42f0fbef2b0bdaffc0c8b97","responseTime":151,"status":200,"url":"/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"04f779e13e0d072ca9c2cdf848acb0f7","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:13:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/722a27c0-f673-443f-91ef-9d496aa33f38/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":"04f779e13e0d072ca9c2cdf848acb0f7"} device_1 | {"level":"info","message":"OPTIONS /devices/722a27c0-f673-443f-91ef-9d496aa33f38/websocket 200 1ms","method":"OPTIONS","requestID":"04f779e13e0d072ca9c2cdf848acb0f7","responseTime":1,"status":200,"url":"/devices/722a27c0-f673-443f-91ef-9d496aa33f38/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4OX0.cGfJgTGwjBFGvPpiX_8eAN3UwnDUGo6t67NLa4ylmD8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9df211b221332adaeda8db3b874bfd6d","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:09Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.91211,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:09Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/722a27c0-f673-443f-91ef-9d496aa33f38","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/722a27c0-f673-443f-91ef-9d496aa33f38","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397989,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk4OX0.cGfJgTGwjBFGvPpiX_8eAN3UwnDUGo6t67NLa4ylmD8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9df211b221332adaeda8db3b874bfd6d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:13:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/722a27c0-f673-443f-91ef-9d496aa33f38/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.183","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9df211b221332adaeda8db3b874bfd6d"} device_1 | {"level":"info","message":"POST /devices/722a27c0-f673-443f-91ef-9d496aa33f38/websocket 200 177ms","method":"POST","requestID":"9df211b221332adaeda8db3b874bfd6d","responseTime":177,"status":200,"url":"/devices/722a27c0-f673-443f-91ef-9d496aa33f38/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/722a27c0-f673-443f-91ef-9d496aa33f38' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk5MH0.9CgNC6kHcwV1l6JYnO6LkKXc8mvJAuFCzh0qI-DXsrg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ba927eb94f87095606c318796dd8f8aa","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:10Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.192092,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/722a27c0-f673-443f-91ef-9d496aa33f38","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/722a27c0-f673-443f-91ef-9d496aa33f38","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397990,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk5MH0.9CgNC6kHcwV1l6JYnO6LkKXc8mvJAuFCzh0qI-DXsrg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba927eb94f87095606c318796dd8f8aa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F722a27c0-f673-443f-91ef-9d496aa33f38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F722a27c0-f673-443f-91ef-9d496aa33f38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:07.625660592Z"}]},"request_id":"fd32ff6f-86b2-4890-a826-9e83b264d191","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397990.2908375} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ba927eb94f87095606c318796dd8f8aa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/722a27c0-f673-443f-91ef-9d496aa33f38? 200 17ms","method":"GET","requestID":"ba927eb94f87095606c318796dd8f8aa","responseTime":17,"status":200,"url":"/devices/722a27c0-f673-443f-91ef-9d496aa33f38?"} gateway_1 | {"time_local":"08/Feb/2024:13:13:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/722a27c0-f673-443f-91ef-9d496aa33f38? 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":"ba927eb94f87095606c318796dd8f8aa"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk5MH0.9CgNC6kHcwV1l6JYnO6LkKXc8mvJAuFCzh0qI-DXsrg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fc7aa36715be4296efe48c8cc20246f0","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:10Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.531671,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397990,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk5MH0.9CgNC6kHcwV1l6JYnO6LkKXc8mvJAuFCzh0qI-DXsrg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc7aa36715be4296efe48c8cc20246f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86433965-4fa6-469a-8ac7-fdbd97d30e12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86433965-4fa6-469a-8ac7-fdbd97d30e12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:08.002529328Z"}]},"request_id":"84d65c93-c438-40aa-b169-7cc0464f3b7c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397990.31306} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fc7aa36715be4296efe48c8cc20246f0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/86433965-4fa6-469a-8ac7-fdbd97d30e12? 200 16ms","method":"GET","requestID":"fc7aa36715be4296efe48c8cc20246f0","responseTime":16,"status":200,"url":"/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12?"} gateway_1 | {"time_local":"08/Feb/2024:13:13:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/86433965-4fa6-469a-8ac7-fdbd97d30e12? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fc7aa36715be4296efe48c8cc20246f0"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk5MH0.9CgNC6kHcwV1l6JYnO6LkKXc8mvJAuFCzh0qI-DXsrg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a711386a974a87645994bca976a4b246","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:10Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.056377,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:10Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397990,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk5MH0.9CgNC6kHcwV1l6JYnO6LkKXc8mvJAuFCzh0qI-DXsrg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a711386a974a87645994bca976a4b246"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:10Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.142548,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/722a27c0-f673-443f-91ef-9d496aa33f38","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/722a27c0-f673-443f-91ef-9d496aa33f38","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397990,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk5MH0.9CgNC6kHcwV1l6JYnO6LkKXc8mvJAuFCzh0qI-DXsrg"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cebcd000-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:36652","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:10Z"} authorization_1 | {"client_addr":"127.0.0.1:36652","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.109027,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:10Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397990,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk5MH0.9CgNC6kHcwV1l6JYnO6LkKXc8mvJAuFCzh0qI-DXsrg"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cebd1e20-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F722a27c0-f673-443f-91ef-9d496aa33f38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F722a27c0-f673-443f-91ef-9d496aa33f38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:07.625660592Z"}]},"request_id":"a331fa72-c13b-4c5e-9b70-4314f1588718","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397990.6689732} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cebcd000-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86433965-4fa6-469a-8ac7-fdbd97d30e12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86433965-4fa6-469a-8ac7-fdbd97d30e12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:08.002529328Z"}]},"request_id":"bd1abf23-1f1b-43c3-8b78-c5d7af9b651e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397990.6746168} device_1 | {"level":"info","message":"GET /devices/722a27c0-f673-443f-91ef-9d496aa33f38? 200 19ms","method":"GET","requestID":"cebcd000-c683-11ee-9765-47e7fd15fc3d","responseTime":19,"status":200,"url":"/devices/722a27c0-f673-443f-91ef-9d496aa33f38?"} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cebd1e20-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/86433965-4fa6-469a-8ac7-fdbd97d30e12? 200 21ms","method":"GET","requestID":"cebd1e20-c683-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:11Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.50622,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/722a27c0-f673-443f-91ef-9d496aa33f38","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/722a27c0-f673-443f-91ef-9d496aa33f38","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397990,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk5MH0.9CgNC6kHcwV1l6JYnO6LkKXc8mvJAuFCzh0qI-DXsrg"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf0b1710-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:36652","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:11Z"} authorization_1 | {"client_addr":"127.0.0.1:36652","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.845033,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397990,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk5MH0.9CgNC6kHcwV1l6JYnO6LkKXc8mvJAuFCzh0qI-DXsrg"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf0b6530-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F722a27c0-f673-443f-91ef-9d496aa33f38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F722a27c0-f673-443f-91ef-9d496aa33f38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:07.625660592Z"}]},"request_id":"b99a5a26-3460-4c77-aace-072175bc471d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397991.1859782} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86433965-4fa6-469a-8ac7-fdbd97d30e12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86433965-4fa6-469a-8ac7-fdbd97d30e12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:08.002529328Z"}]},"request_id":"a08ce07f-a4f8-44be-b52a-256b7d9806b0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397991.1873777} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf0b1710-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf0b6530-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/722a27c0-f673-443f-91ef-9d496aa33f38? 200 25ms","method":"GET","requestID":"cf0b1710-c683-11ee-9765-47e7fd15fc3d","responseTime":25,"status":200,"url":"/devices/722a27c0-f673-443f-91ef-9d496aa33f38?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/86433965-4fa6-469a-8ac7-fdbd97d30e12? 200 26ms","method":"GET","requestID":"cf0b6530-c683-11ee-9765-47e7fd15fc3d","responseTime":26,"status":200,"url":"/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:11Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.99965,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:11Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/722a27c0-f673-443f-91ef-9d496aa33f38","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/722a27c0-f673-443f-91ef-9d496aa33f38","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf0fd200-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/722a27c0-f673-443f-91ef-9d496aa33f38/signaling 200 7ms","method":"POST","requestID":"cf0fd200-c683-11ee-9765-47e7fd15fc3d","responseTime":7,"status":200,"url":"/devices/722a27c0-f673-443f-91ef-9d496aa33f38/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:11Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.89055,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:11Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf117fb0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/86433965-4fa6-469a-8ac7-fdbd97d30e12/signaling 200 9ms","method":"POST","requestID":"cf117fb0-c683-11ee-9765-47e7fd15fc3d","responseTime":9,"status":200,"url":"/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"aa445e04-ea06-4772-854b-071789813f13"},{"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":"edece260-11f3-4b0a-ba18-de4557c9e7df"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7f586602-b056-4f54-b3cd-352dc94c0f82"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12"},{"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/722a27c0-f673-443f-91ef-9d496aa33f38"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:11Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.104668,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:11Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397990,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk5MH0.9CgNC6kHcwV1l6JYnO6LkKXc8mvJAuFCzh0qI-DXsrg"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf135470-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F27b802f9-571f-45e3-82ff-fe8e7f0d45ea#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F27b802f9-571f-45e3-82ff-fe8e7f0d45ea","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"73968448-0dac-4304-b437-ea694389e42d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397991.3711028} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c4867a58-83f6-47ad-9efa-4b9db4d98060","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397991.371469} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"5f98d1f9-2fc7-4d76-8eaa-56c49e09e167","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397991.3731935} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bbaa9bb1-19c4-4eb1-948f-2e0e2ed7e1c3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397991.3737032} authorization_1 | {"level":"info","message":"POST /relations/update 200 198ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a711386a974a87645994bca976a4b246"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":198}} authorization_1 | {"level":"info","message":"POST /relations/update 200 143ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf135470-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":143}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1058ms","method":"POST","requestID":"a711386a974a87645994bca976a4b246","responseTime":1059,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:13:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"1.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a711386a974a87645994bca976a4b246"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk5MX0.hTfYvUnw2-GuSGl_I2XhJq9gHclRVnMICOofekEjk20","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"e5160b34df9b97e69a27f3632ecd60fa","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:11Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.082702,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/722a27c0-f673-443f-91ef-9d496aa33f38","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/722a27c0-f673-443f-91ef-9d496aa33f38","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397991,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk5MX0.hTfYvUnw2-GuSGl_I2XhJq9gHclRVnMICOofekEjk20"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5160b34df9b97e69a27f3632ecd60fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F722a27c0-f673-443f-91ef-9d496aa33f38","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F722a27c0-f673-443f-91ef-9d496aa33f38","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:07.625660592Z"}]},"request_id":"f0cd2a0f-93c3-4d54-ad54-c8ae37e53d96","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397991.40421} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e5160b34df9b97e69a27f3632ecd60fa"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 316ms","method":"POST","requestID":"cf135470-c683-11ee-9765-47e7fd15fc3d","responseTime":316,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:13:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/722a27c0-f673-443f-91ef-9d496aa33f38? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e5160b34df9b97e69a27f3632ecd60fa"} device_1 | {"level":"info","message":"GET /devices/722a27c0-f673-443f-91ef-9d496aa33f38? 200 148ms","method":"GET","requestID":"e5160b34df9b97e69a27f3632ecd60fa","responseTime":148,"status":200,"url":"/devices/722a27c0-f673-443f-91ef-9d496aa33f38?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk5MX0.hTfYvUnw2-GuSGl_I2XhJq9gHclRVnMICOofekEjk20","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"36fa568e5e82b324a8ac8e02eaf0f157","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:11Z"} authorization_1 | {"client_addr":"127.0.0.1:41332","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.88832,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:11Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707397991,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5Nzk5MX0.hTfYvUnw2-GuSGl_I2XhJq9gHclRVnMICOofekEjk20"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36fa568e5e82b324a8ac8e02eaf0f157"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86433965-4fa6-469a-8ac7-fdbd97d30e12","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F86433965-4fa6-469a-8ac7-fdbd97d30e12","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:08.002529328Z"}]},"request_id":"28aff007-afec-4b89-ba0f-2848136329a1","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707397991.559035} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"36fa568e5e82b324a8ac8e02eaf0f157"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:13:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/86433965-4fa6-469a-8ac7-fdbd97d30e12? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"36fa568e5e82b324a8ac8e02eaf0f157"} device_1 | {"level":"info","message":"GET /devices/86433965-4fa6-469a-8ac7-fdbd97d30e12? 200 14ms","method":"GET","requestID":"36fa568e5e82b324a8ac8e02eaf0f157","responseTime":14,"status":200,"url":"/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/a0d4bc96-adf5-4e22-b023-6f193361694e'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/b70feedc-cb30-4347-be71-91df453459b5'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/722a27c0-f673-443f-91ef-9d496aa33f38'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/722a27c0-f673-443f-91ef-9d496aa33f38'"} device_1 | {"data":{"peerconnection":"5e0e8c22-f660-43d4-85a4-9fbf53be500d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5e0e8c22-f660-43d4-85a4-9fbf53be500d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"13d34f0d02a6a10bc2d431944b988d97","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/86433965-4fa6-469a-8ac7-fdbd97d30e12"},{"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/722a27c0-f673-443f-91ef-9d496aa33f38"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"13d34f0d02a6a10bc2d431944b988d97","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:13:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"13d34f0d02a6a10bc2d431944b988d97"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzMn0.sY4sGHZcIFchN2qyzLndDWr3vUPP0O1-fyK8VfJckBE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"477f956c49d41a0188e27bb292146bd0","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:52Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.966989,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:52Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398032,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzMn0.sY4sGHZcIFchN2qyzLndDWr3vUPP0O1-fyK8VfJckBE"} authorization_1 | {"level":"info","message":"POST /authorize 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"477f956c49d41a0188e27bb292146bd0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":11}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} gateway_1 | {"time_local":"08/Feb/2024:13:13:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"477f956c49d41a0188e27bb292146bd0"} experiment_1 | {"level":"info","message":"GET /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea 200 22ms","method":"GET","requestID":"477f956c49d41a0188e27bb292146bd0","responseTime":22,"status":200,"url":"/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} device_1 | {"data":{"peerconnection":"5e0e8c22-f660-43d4-85a4-9fbf53be500d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzMn0.sY4sGHZcIFchN2qyzLndDWr3vUPP0O1-fyK8VfJckBE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"998cab8ecd5358a6e9e402f3c7762323","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:52Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.378196,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:52Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398032,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzMn0.sY4sGHZcIFchN2qyzLndDWr3vUPP0O1-fyK8VfJckBE"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"998cab8ecd5358a6e9e402f3c7762323"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} gateway_1 | {"time_local":"08/Feb/2024:13:13:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"998cab8ecd5358a6e9e402f3c7762323"} experiment_1 | {"level":"info","message":"GET /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea 200 16ms","method":"GET","requestID":"998cab8ecd5358a6e9e402f3c7762323","responseTime":16,"status":200,"url":"/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} device_1 | {"data":{"peerconnection":"5e0e8c22-f660-43d4-85a4-9fbf53be500d","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzMn0.sY4sGHZcIFchN2qyzLndDWr3vUPP0O1-fyK8VfJckBE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6807bc36642db7129f5364a2880a93cb","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:52Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.252816,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:52Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398032,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzMn0.sY4sGHZcIFchN2qyzLndDWr3vUPP0O1-fyK8VfJckBE"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6807bc36642db7129f5364a2880a93cb"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} gateway_1 | {"time_local":"08/Feb/2024:13:13:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6807bc36642db7129f5364a2880a93cb"} experiment_1 | {"level":"info","message":"GET /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea 200 18ms","method":"GET","requestID":"6807bc36642db7129f5364a2880a93cb","responseTime":18,"status":200,"url":"/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5e0e8c22-f660-43d4-85a4-9fbf53be500d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9ec948a251f1fc0365daf0c8f09fe2db","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/86433965-4fa6-469a-8ac7-fdbd97d30e12"},{"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/722a27c0-f673-443f-91ef-9d496aa33f38"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:53Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5e0e8c22-f660-43d4-85a4-9fbf53be500d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef09dca2-c17d-485a-ba2a-948864832abc","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398033.0536673} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.675631,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8010360-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzM30.WAXPA3ALb2fIYVFYl7H3uW-ob-DR3ePQmndDWjl9HD8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4ce99d5058a80842c700d62ba1af2f11","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:53Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.307957,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398033,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzM30.WAXPA3ALb2fIYVFYl7H3uW-ob-DR3ePQmndDWjl9HD8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4ce99d5058a80842c700d62ba1af2f11"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} gateway_1 | {"time_local":"08/Feb/2024:13:13:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4ce99d5058a80842c700d62ba1af2f11"} experiment_1 | {"level":"info","message":"GET /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea 200 16ms","method":"GET","requestID":"4ce99d5058a80842c700d62ba1af2f11","responseTime":16,"status":200,"url":"/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzM30.WAXPA3ALb2fIYVFYl7H3uW-ob-DR3ePQmndDWjl9HD8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"7d843a6ccb33b80fdef06ce7efd00346","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"GET /peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d 200 161ms","method":"GET","requestID":"e8010360-c683-11ee-9765-47e7fd15fc3d","responseTime":161,"status":200,"url":"/peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:53Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.181442,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398033,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzM30.WAXPA3ALb2fIYVFYl7H3uW-ob-DR3ePQmndDWjl9HD8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7d843a6ccb33b80fdef06ce7efd00346"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} gateway_1 | {"time_local":"08/Feb/2024:13:13:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.182","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7d843a6ccb33b80fdef06ce7efd00346"} experiment_1 | {"level":"info","message":"GET /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea 200 170ms","method":"GET","requestID":"7d843a6ccb33b80fdef06ce7efd00346","responseTime":170,"status":200,"url":"/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 348ms","method":"POST","requestID":"9ec948a251f1fc0365daf0c8f09fe2db","responseTime":348,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:13:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.352","http_referrer":"","http_user_agent":"node-fetch","requestID":"9ec948a251f1fc0365daf0c8f09fe2db"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzM30.WAXPA3ALb2fIYVFYl7H3uW-ob-DR3ePQmndDWjl9HD8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f6fd5c26169ec5f6e87fc591926c7ce8","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:53Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.296725,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:53Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398033,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzM30.WAXPA3ALb2fIYVFYl7H3uW-ob-DR3ePQmndDWjl9HD8"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f6fd5c26169ec5f6e87fc591926c7ce8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:53Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.165813,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:53Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398033,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzM30.WAXPA3ALb2fIYVFYl7H3uW-ob-DR3ePQmndDWjl9HD8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8388e20-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"5e0e8c22-f660-43d4-85a4-9fbf53be500d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b3e85f0a627f2d45fc24e005be7e061d","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/86433965-4fa6-469a-8ac7-fdbd97d30e12"},{"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/722a27c0-f673-443f-91ef-9d496aa33f38"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5e0e8c22-f660-43d4-85a4-9fbf53be500d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F5e0e8c22-f660-43d4-85a4-9fbf53be500d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"4b13e7b8-0715-45d7-a163-5cd915ad782e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398033.4340637} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"78bf14d07730ed665191ff1ea9780d87","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:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e563c02d-c416-47e4-b3d9-b3aad4990cfe","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398033.434488} 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/86433965-4fa6-469a-8ac7-fdbd97d30e12"},{"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/722a27c0-f673-443f-91ef-9d496aa33f38"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d"}}},"level":"info","message":"received a callback"} authorization_1 | {"level":"info","message":"POST /relations/update 200 11ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e8388e20-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":11}} device_1 | {"data":{"peerconnection":"5e0e8c22-f660-43d4-85a4-9fbf53be500d","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d 204 348ms","method":"DELETE","requestID":"e8388e20-c683-11ee-9765-47e7fd15fc3d","responseTime":348,"status":204,"url":"/peerconnections/5e0e8c22-f660-43d4-85a4-9fbf53be500d"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F27b802f9-571f-45e3-82ff-fe8e7f0d45ea': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F27b802f9-571f-45e3-82ff-fe8e7f0d45ea","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"240c0418-d4d1-4798-a7b2-a3d53c6ed654","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398034.1122923} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b4cb23e-4d3f-47d7-83cb-89dd7beefa36","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398034.112615} authorization_1 | {"level":"info","message":"POST /relations/update 200 180ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f6fd5c26169ec5f6e87fc591926c7ce8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":180}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} gateway_1 | {"time_local":"08/Feb/2024:13:13:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.683","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f6fd5c26169ec5f6e87fc591926c7ce8"} gateway_1 | {"time_local":"08/Feb/2024:13:13:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1691","request_time":"46.218","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"c1ae4c60690a2cceaa1f53b31f25a25b"} experiment_1 | {"level":"info","message":"DELETE /experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea 204 1682ms","method":"DELETE","requestID":"f6fd5c26169ec5f6e87fc591926c7ce8","responseTime":1682,"status":204,"url":"/experiments/27b802f9-571f-45e3-82ff-fe8e7f0d45ea"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1646ms","method":"POST","requestID":"b3e85f0a627f2d45fc24e005be7e061d","responseTime":1646,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:13: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":"1.650","http_referrer":"","http_user_agent":"node-fetch","requestID":"b3e85f0a627f2d45fc24e005be7e061d"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1646ms","method":"POST","requestID":"78bf14d07730ed665191ff1ea9780d87","responseTime":1646,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:13: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":"1.650","http_referrer":"","http_user_agent":"node-fetch","requestID":"78bf14d07730ed665191ff1ea9780d87"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzNX0.Q4wRZxZ10QZ1aMAU6P4yOf_p_1ALiUgUwHhTFeUp-0U","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"070cd6ce754dd78c3970b0a272cec350","responseTime":8,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:55Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.886861,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:55Z"} gateway_1 | {"time_local":"08/Feb/2024:13:13:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1721","request_time":"44.973","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"22ff5eeac689e44aedbe5971c9e694b4"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398035,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzNX0.Q4wRZxZ10QZ1aMAU6P4yOf_p_1ALiUgUwHhTFeUp-0U"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"070cd6ce754dd78c3970b0a272cec350"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/86433965-4fa6-469a-8ac7-fdbd97d30e12' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb179fc80-ea61-4853-bbc2-d7c869af52a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c873a604-b92c-4c36-8eac-ff8a3c4fddfd","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398035.412313} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"070cd6ce754dd78c3970b0a272cec350"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8dfce617-a362-4aa4-9cee-2d4d4e00208d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398035.4220088} authorization_1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"070cd6ce754dd78c3970b0a272cec350"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/722a27c0-f673-443f-91ef-9d496aa33f38' closed"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb179fc80-ea61-4853-bbc2-d7c869af52a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"f83a07f1-9367-4ddf-9ae5-92d03edddeb6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398035.6547418} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b02b8e28-e07f-458c-bba3-71860baf80ce","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398035.6553953} authorization_1 | {"level":"info","message":"POST /relations/update 200 238ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"070cd6ce754dd78c3970b0a272cec350"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":238}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb179fc80-ea61-4853-bbc2-d7c869af52a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb179fc80-ea61-4853-bbc2-d7c869af52a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:55.654700275Z"}]},"request_id":"3687524e-d785-4aa7-97c0-7f29303482c5","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398035.6631382} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"070cd6ce754dd78c3970b0a272cec350"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 581ms","method":"POST","requestID":"070cd6ce754dd78c3970b0a272cec350","responseTime":581,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:13: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.592","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"070cd6ce754dd78c3970b0a272cec350"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzNX0.Q4wRZxZ10QZ1aMAU6P4yOf_p_1ALiUgUwHhTFeUp-0U","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"46bfe99494fbb4cada05ea160e5397fd","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:55Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.943513,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:55Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398035,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzNX0.Q4wRZxZ10QZ1aMAU6P4yOf_p_1ALiUgUwHhTFeUp-0U"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46bfe99494fbb4cada05ea160e5397fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ec1fbe8-9a4d-45ad-8013-60e42475a90d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2333b63f-e0ea-41a8-a9fd-949e6f3a6449","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398035.8478527} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46bfe99494fbb4cada05ea160e5397fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5058e83-369a-4674-a12b-119e6aca8c3e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398035.8559248} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46bfe99494fbb4cada05ea160e5397fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ec1fbe8-9a4d-45ad-8013-60e42475a90d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"9215ec65-cdb7-4343-b91b-75e2deb9c463","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398036.0309372} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec3ff4ca-707b-4302-9aee-a35a75486af8","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398036.0312161} authorization_1 | {"level":"info","message":"POST /relations/update 200 180ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46bfe99494fbb4cada05ea160e5397fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":180}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ec1fbe8-9a4d-45ad-8013-60e42475a90d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ec1fbe8-9a4d-45ad-8013-60e42475a90d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:56.030904776Z"}]},"request_id":"95a77305-9df3-4283-b032-d750293764ee","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398036.040394} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"46bfe99494fbb4cada05ea160e5397fd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 369ms","method":"POST","requestID":"46bfe99494fbb4cada05ea160e5397fd","responseTime":369,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:13: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.401","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"46bfe99494fbb4cada05ea160e5397fd"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzNn0._Wx6GWeNh9niCrEoSS31ZzpITLnKllKIYQ_CX6hFlkc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dfca5353d78037d4234595757441a1f1","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:56Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.863159,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:56Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398036,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzNn0._Wx6GWeNh9niCrEoSS31ZzpITLnKllKIYQ_CX6hFlkc"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dfca5353d78037d4234595757441a1f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb179fc80-ea61-4853-bbc2-d7c869af52a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb179fc80-ea61-4853-bbc2-d7c869af52a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:55.654700275Z"}]},"request_id":"2806d5c3-ef64-435b-8798-72629212f7b8","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398036.5257685} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dfca5353d78037d4234595757441a1f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33817c0d-95be-44b8-9da1-1dc56ab9f6fa","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398036.5325785} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dfca5353d78037d4234595757441a1f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb179fc80-ea61-4853-bbc2-d7c869af52a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb179fc80-ea61-4853-bbc2-d7c869af52a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:55.654700275Z"}]},"request_id":"edb0b856-2668-444f-b176-50367cf7a590","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398036.708137} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dfca5353d78037d4234595757441a1f1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"PATCH /devices/b179fc80-ea61-4853-bbc2-d7c869af52a8 200 199ms","method":"PATCH","requestID":"dfca5353d78037d4234595757441a1f1","responseTime":199,"status":200,"url":"/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8"} gateway_1 | {"time_local":"08/Feb/2024:13:13:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b179fc80-ea61-4853-bbc2-d7c869af52a8 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.204","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"dfca5353d78037d4234595757441a1f1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzNn0._Wx6GWeNh9niCrEoSS31ZzpITLnKllKIYQ_CX6hFlkc","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"64fa2b1b84939fac9dcb7602179e07fc","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:56Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975103,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:56Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398036,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzNn0._Wx6GWeNh9niCrEoSS31ZzpITLnKllKIYQ_CX6hFlkc"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"64fa2b1b84939fac9dcb7602179e07fc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:13:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b179fc80-ea61-4853-bbc2-d7c869af52a8/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.181","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"64fa2b1b84939fac9dcb7602179e07fc"} device_1 | {"level":"info","message":"POST /devices/b179fc80-ea61-4853-bbc2-d7c869af52a8/websocket 200 176ms","method":"POST","requestID":"64fa2b1b84939fac9dcb7602179e07fc","responseTime":176,"status":200,"url":"/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"065780ebb56ec82e6a3fe9f0ca9513f4","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:13:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d/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":"065780ebb56ec82e6a3fe9f0ca9513f4"} device_1 | {"level":"info","message":"OPTIONS /devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d/websocket 200 1ms","method":"OPTIONS","requestID":"065780ebb56ec82e6a3fe9f0ca9513f4","responseTime":1,"status":200,"url":"/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzN30.4oW0QIszjojycw7b_hv-RApizqvUOafSRrAHI7dDuos","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"da2430ead353123cd1dcf2d82ce25006","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:58Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.969014,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:58Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398037,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzN30.4oW0QIszjojycw7b_hv-RApizqvUOafSRrAHI7dDuos"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"da2430ead353123cd1dcf2d82ce25006"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:13:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.170","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"da2430ead353123cd1dcf2d82ce25006"} device_1 | {"level":"info","message":"POST /devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d/websocket 200 166ms","method":"POST","requestID":"da2430ead353123cd1dcf2d82ce25006","responseTime":166,"status":200,"url":"/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzOH0.JOHwG3zfh6WjWWq8XLPrJBW8mA0XTFQdoY4un57Is70","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"1e7323ec201101de42768afb72af52a8","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:58Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.918722,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398038,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzOH0.JOHwG3zfh6WjWWq8XLPrJBW8mA0XTFQdoY4un57Is70"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e7323ec201101de42768afb72af52a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb179fc80-ea61-4853-bbc2-d7c869af52a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb179fc80-ea61-4853-bbc2-d7c869af52a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:55.654700275Z"}]},"request_id":"95671826-3be9-4588-9495-5e9b7e2fc449","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398038.345659} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1e7323ec201101de42768afb72af52a8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b179fc80-ea61-4853-bbc2-d7c869af52a8? 200 16ms","method":"GET","requestID":"1e7323ec201101de42768afb72af52a8","responseTime":16,"status":200,"url":"/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8?"} gateway_1 | {"time_local":"08/Feb/2024:13:13:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b179fc80-ea61-4853-bbc2-d7c869af52a8? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1e7323ec201101de42768afb72af52a8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzOH0.JOHwG3zfh6WjWWq8XLPrJBW8mA0XTFQdoY4un57Is70","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"285e5f3ccc753ef2f80b9a40de348216","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:58Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.793579,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398038,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzOH0.JOHwG3zfh6WjWWq8XLPrJBW8mA0XTFQdoY4un57Is70"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"285e5f3ccc753ef2f80b9a40de348216"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ec1fbe8-9a4d-45ad-8013-60e42475a90d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ec1fbe8-9a4d-45ad-8013-60e42475a90d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:56.030904776Z"}]},"request_id":"20e5b56e-2a7d-4b39-a531-423cc4f4bd7f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398038.3703167} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"285e5f3ccc753ef2f80b9a40de348216"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:13:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d? 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":"285e5f3ccc753ef2f80b9a40de348216"} device_1 | {"level":"info","message":"GET /devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d? 200 18ms","method":"GET","requestID":"285e5f3ccc753ef2f80b9a40de348216","responseTime":18,"status":200,"url":"/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzOH0.JOHwG3zfh6WjWWq8XLPrJBW8mA0XTFQdoY4un57Is70","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cc5303ed88f6c40eaac282094e87df85","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:58Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.236616,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:58Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398038,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzOH0.JOHwG3zfh6WjWWq8XLPrJBW8mA0XTFQdoY4un57Is70"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc5303ed88f6c40eaac282094e87df85"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:58Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.36751,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398038,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzOH0.JOHwG3zfh6WjWWq8XLPrJBW8mA0XTFQdoY4un57Is70"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb64eee0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:52804","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:58Z"} authorization_1 | {"client_addr":"127.0.0.1:52804","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.46366,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398038,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzOH0.JOHwG3zfh6WjWWq8XLPrJBW8mA0XTFQdoY4un57Is70"} authorization_1 | {"level":"info","message":"POST /authorize 200 12ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb653d00-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":12}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb179fc80-ea61-4853-bbc2-d7c869af52a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb179fc80-ea61-4853-bbc2-d7c869af52a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:55.654700275Z"}]},"request_id":"92c4aabb-b18e-42e1-8d85-bcc9ba714ad1","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398038.7485409} authorization_1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb64eee0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ec1fbe8-9a4d-45ad-8013-60e42475a90d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ec1fbe8-9a4d-45ad-8013-60e42475a90d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:56.030904776Z"}]},"request_id":"46cd9665-4f84-4e2b-8f22-a6a281f2077f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398038.7541766} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eb653d00-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b179fc80-ea61-4853-bbc2-d7c869af52a8? 200 24ms","method":"GET","requestID":"eb64eee0-c683-11ee-9765-47e7fd15fc3d","responseTime":24,"status":200,"url":"/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d? 200 23ms","method":"GET","requestID":"eb653d00-c683-11ee-9765-47e7fd15fc3d","responseTime":23,"status":200,"url":"/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:59Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.788482,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:59Z"} authorization_1 | {"client_addr":"127.0.0.1:52804","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398038,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzOH0.JOHwG3zfh6WjWWq8XLPrJBW8mA0XTFQdoY4un57Is70"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebb88d20-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:52804","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.776627,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398038,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzOH0.JOHwG3zfh6WjWWq8XLPrJBW8mA0XTFQdoY4un57Is70"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebb8db40-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb179fc80-ea61-4853-bbc2-d7c869af52a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb179fc80-ea61-4853-bbc2-d7c869af52a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:55.654700275Z"}]},"request_id":"07feb856-e834-4f59-ba99-1bbcbcb9026f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398039.2975914} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebb88d20-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ec1fbe8-9a4d-45ad-8013-60e42475a90d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ec1fbe8-9a4d-45ad-8013-60e42475a90d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:56.030904776Z"}]},"request_id":"3ba68f9d-9a5e-48df-a827-8147ae05d4fa","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398039.2986407} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebb8db40-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/b179fc80-ea61-4853-bbc2-d7c869af52a8? 200 21ms","method":"GET","requestID":"ebb88d20-c683-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d? 200 20ms","method":"GET","requestID":"ebb8db40-c683-11ee-9765-47e7fd15fc3d","responseTime":20,"status":200,"url":"/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:59Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.715402,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:59Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebbc36a0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/b179fc80-ea61-4853-bbc2-d7c869af52a8/signaling 200 10ms","method":"POST","requestID":"ebbc36a0-c683-11ee-9765-47e7fd15fc3d","responseTime":10,"status":200,"url":"/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:59Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.795874,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:59Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebbe0b60-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d/signaling 200 8ms","method":"POST","requestID":"ebbe0b60-c683-11ee-9765-47e7fd15fc3d","responseTime":8,"status":200,"url":"/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"0e3303d4-1ac9-4a81-8211-33601b24579b"},{"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":"c12ccd21-1468-4b83-871d-c602717b11e9"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"8df7db9d-9d4a-44f9-b083-8d1e130e44b4"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d"},{"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/b179fc80-ea61-4853-bbc2-d7c869af52a8"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:59Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.871859,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:59Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398038,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzOH0.JOHwG3zfh6WjWWq8XLPrJBW8mA0XTFQdoY4un57Is70"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebbfb910-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F272d9360-3d06-46b2-91db-7d16d90e4b7e#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F272d9360-3d06-46b2-91db-7d16d90e4b7e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"f7b7e32c-74ed-4dae-9a93-4d8acf540472","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398039.4557145} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8fe2aaf9-f56f-4035-8c50-c770039963ad","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398039.456109} authorization_1 | {"level":"info","message":"POST /relations/update 200 167ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cc5303ed88f6c40eaac282094e87df85"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":167}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"46dd80ad-1652-4f1e-a93c-dadd133b31eb","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398039.4585207} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"964ed178-aef8-42fa-b139-80294efedab1","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398039.4589565} authorization_1 | {"level":"info","message":"POST /relations/update 200 124ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ebbfb910-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":124}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1088ms","method":"POST","requestID":"cc5303ed88f6c40eaac282094e87df85","responseTime":1088,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:13:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"1.096","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cc5303ed88f6c40eaac282094e87df85"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzOX0.KNTR7L3_bQRjZ9FGoeeB2l7uH7RzR3usiYUy7Jzgruo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"15f24836dbc5b3e80a120b0820fb23d7","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:59Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.974087,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398039,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzOX0.KNTR7L3_bQRjZ9FGoeeB2l7uH7RzR3usiYUy7Jzgruo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15f24836dbc5b3e80a120b0820fb23d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb179fc80-ea61-4853-bbc2-d7c869af52a8","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb179fc80-ea61-4853-bbc2-d7c869af52a8","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:55.654700275Z"}]},"request_id":"9297a2e9-5f7e-4b94-9ebb-d1a18ce22f8d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398039.4867876} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15f24836dbc5b3e80a120b0820fb23d7"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 295ms","method":"POST","requestID":"ebbfb910-c683-11ee-9765-47e7fd15fc3d","responseTime":295,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:13:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b179fc80-ea61-4853-bbc2-d7c869af52a8? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"15f24836dbc5b3e80a120b0820fb23d7"} device_1 | {"level":"info","message":"GET /devices/b179fc80-ea61-4853-bbc2-d7c869af52a8? 200 149ms","method":"GET","requestID":"15f24836dbc5b3e80a120b0820fb23d7","responseTime":149,"status":200,"url":"/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzOX0.KNTR7L3_bQRjZ9FGoeeB2l7uH7RzR3usiYUy7Jzgruo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"0b019936718b4cff00226667e8e6bffd","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:13:59Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.84559,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:13:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398039,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODAzOX0.KNTR7L3_bQRjZ9FGoeeB2l7uH7RzR3usiYUy7Jzgruo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b019936718b4cff00226667e8e6bffd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ec1fbe8-9a4d-45ad-8013-60e42475a90d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ec1fbe8-9a4d-45ad-8013-60e42475a90d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:13:56.030904776Z"}]},"request_id":"f9b8dee7-d7e7-48ac-9e36-2ccb45106ba3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398039.6450603} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0b019936718b4cff00226667e8e6bffd"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d? 200 13ms","method":"GET","requestID":"0b019936718b4cff00226667e8e6bffd","responseTime":13,"status":200,"url":"/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d?"} gateway_1 | {"time_local":"08/Feb/2024:13:13:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d? 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":"0b019936718b4cff00226667e8e6bffd"} device_1 | {"data":{"peerconnection":"368fea67-f6e0-483d-9f9b-a9a15f087132","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"368fea67-f6e0-483d-9f9b-a9a15f087132","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"58867711fccb833b8973396424b93828","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/1ec1fbe8-9a4d-45ad-8013-60e42475a90d"},{"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/b179fc80-ea61-4853-bbc2-d7c869af52a8"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 178ms","method":"POST","requestID":"58867711fccb833b8973396424b93828","responseTime":178,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:13:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch","requestID":"58867711fccb833b8973396424b93828"} device_1 | {"data":{"peerconnection":"368fea67-f6e0-483d-9f9b-a9a15f087132","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0MH0.tnNdaaHfUOug_Cx9e8fuGz_Ro-7M1ejbRoQVi1OZctY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ca8c59ac4ceba2172aaf5fa1e8c3f825","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:00Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.377212,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398040,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0MH0.tnNdaaHfUOug_Cx9e8fuGz_Ro-7M1ejbRoQVi1OZctY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ca8c59ac4ceba2172aaf5fa1e8c3f825"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} gateway_1 | {"time_local":"08/Feb/2024:13:14:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca8c59ac4ceba2172aaf5fa1e8c3f825"} experiment_1 | {"level":"info","message":"GET /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e 200 47ms","method":"GET","requestID":"ca8c59ac4ceba2172aaf5fa1e8c3f825","responseTime":47,"status":200,"url":"/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} device_1 | {"data":{"peerconnection":"368fea67-f6e0-483d-9f9b-a9a15f087132","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0MH0.tnNdaaHfUOug_Cx9e8fuGz_Ro-7M1ejbRoQVi1OZctY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8c70f695353313e97c88210c34d72552","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:00Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.022375,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398040,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0MH0.tnNdaaHfUOug_Cx9e8fuGz_Ro-7M1ejbRoQVi1OZctY"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c70f695353313e97c88210c34d72552"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} gateway_1 | {"time_local":"08/Feb/2024:13:14:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8c70f695353313e97c88210c34d72552"} experiment_1 | {"level":"info","message":"GET /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e 200 13ms","method":"GET","requestID":"8c70f695353313e97c88210c34d72552","responseTime":13,"status":200,"url":"/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"368fea67-f6e0-483d-9f9b-a9a15f087132","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8825a32884f72ac6da16a61270b515a5","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/1ec1fbe8-9a4d-45ad-8013-60e42475a90d"},{"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/b179fc80-ea61-4853-bbc2-d7c869af52a8"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:00Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F368fea67-f6e0-483d-9f9b-a9a15f087132","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"34aba7f7-a697-4319-bf34-69d8231e966b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398040.3144782} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.256542,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec554250-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0MH0.tnNdaaHfUOug_Cx9e8fuGz_Ro-7M1ejbRoQVi1OZctY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ce1452fcb184048f2e1b5e350647b77e","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:00Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.739571,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398040,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0MH0.tnNdaaHfUOug_Cx9e8fuGz_Ro-7M1ejbRoQVi1OZctY"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ce1452fcb184048f2e1b5e350647b77e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} gateway_1 | {"time_local":"08/Feb/2024:13:14:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ce1452fcb184048f2e1b5e350647b77e"} experiment_1 | {"level":"info","message":"GET /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e 200 10ms","method":"GET","requestID":"ce1452fcb184048f2e1b5e350647b77e","responseTime":10,"status":200,"url":"/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0MH0.tnNdaaHfUOug_Cx9e8fuGz_Ro-7M1ejbRoQVi1OZctY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f002d9947b479010a31fa2d13f0b3d13","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:00Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.081727,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398040,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0MH0.tnNdaaHfUOug_Cx9e8fuGz_Ro-7M1ejbRoQVi1OZctY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f002d9947b479010a31fa2d13f0b3d13"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132 200 150ms","method":"GET","requestID":"ec554250-c683-11ee-9765-47e7fd15fc3d","responseTime":150,"status":200,"url":"/peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} gateway_1 | {"time_local":"08/Feb/2024:13:14:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f002d9947b479010a31fa2d13f0b3d13"} experiment_1 | {"level":"info","message":"GET /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e 200 21ms","method":"GET","requestID":"f002d9947b479010a31fa2d13f0b3d13","responseTime":21,"status":200,"url":"/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0MH0.tnNdaaHfUOug_Cx9e8fuGz_Ro-7M1ejbRoQVi1OZctY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"db1a4ae3c84982fc5253b88d3fee0abd","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:00Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.156209,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398040,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0MH0.tnNdaaHfUOug_Cx9e8fuGz_Ro-7M1ejbRoQVi1OZctY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"db1a4ae3c84982fc5253b88d3fee0abd"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 323ms","method":"POST","requestID":"8825a32884f72ac6da16a61270b515a5","responseTime":323,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:14: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.325","http_referrer":"","http_user_agent":"node-fetch","requestID":"8825a32884f72ac6da16a61270b515a5"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} gateway_1 | {"time_local":"08/Feb/2024:13:14:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.060","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"db1a4ae3c84982fc5253b88d3fee0abd"} experiment_1 | {"level":"info","message":"GET /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e 200 54ms","method":"GET","requestID":"db1a4ae3c84982fc5253b88d3fee0abd","responseTime":54,"status":200,"url":"/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0MH0.tnNdaaHfUOug_Cx9e8fuGz_Ro-7M1ejbRoQVi1OZctY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3d8f713930fd372abea14c477f580c3f","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:00Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.414999,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:00Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398040,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0MH0.tnNdaaHfUOug_Cx9e8fuGz_Ro-7M1ejbRoQVi1OZctY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d8f713930fd372abea14c477f580c3f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:00Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.155236,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:00Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398040,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0MH0.tnNdaaHfUOug_Cx9e8fuGz_Ro-7M1ejbRoQVi1OZctY"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec8a0df0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"368fea67-f6e0-483d-9f9b-a9a15f087132","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F368fea67-f6e0-483d-9f9b-a9a15f087132': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F368fea67-f6e0-483d-9f9b-a9a15f087132","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"033d8dfa-8505-40e5-ab25-419267af2610","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398040.6773531} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"17eb3f70-16ff-4a03-8979-535d72f2c6e2","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398040.6777203} authorization_1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ec8a0df0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"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/1ec1fbe8-9a4d-45ad-8013-60e42475a90d"},{"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/b179fc80-ea61-4853-bbc2-d7c869af52a8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132"}}},"level":"info","message":"received a callback"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d"},{"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/b179fc80-ea61-4853-bbc2-d7c869af52a8"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5c52a5585ac978600728fcb70ac41b8c","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"40ed2b26a77af34f3a5013e808a6313e","responseTime":1,"status":200,"url":"/auth"} device_1 | {"data":{"peerconnection":"368fea67-f6e0-483d-9f9b-a9a15f087132","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132 204 305ms","method":"DELETE","requestID":"ec8a0df0-c683-11ee-9765-47e7fd15fc3d","responseTime":305,"status":204,"url":"/peerconnections/368fea67-f6e0-483d-9f9b-a9a15f087132"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F272d9360-3d06-46b2-91db-7d16d90e4b7e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F272d9360-3d06-46b2-91db-7d16d90e4b7e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"73167dd5-fa30-4f39-81e0-a0bdeaaf8ccd","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398041.4404} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b6002b2-31da-4b6b-b822-90c361266a1b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398041.4408793} authorization_1 | {"level":"info","message":"POST /relations/update 200 314ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3d8f713930fd372abea14c477f580c3f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":314}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} gateway_1 | {"time_local":"08/Feb/2024:13:14:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.748","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3d8f713930fd372abea14c477f580c3f"} gateway_1 | {"time_local":"08/Feb/2024:13:14:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1642","request_time":"5.485","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"579c1227bf44af6ab0e4c3ec443baab9"} experiment_1 | {"level":"info","message":"DELETE /experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e 204 1744ms","method":"DELETE","requestID":"3d8f713930fd372abea14c477f580c3f","responseTime":1744,"status":204,"url":"/experiments/272d9360-3d06-46b2-91db-7d16d90e4b7e"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1708ms","method":"POST","requestID":"5c52a5585ac978600728fcb70ac41b8c","responseTime":1708,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:14:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.715","http_referrer":"","http_user_agent":"node-fetch","requestID":"5c52a5585ac978600728fcb70ac41b8c"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1709ms","method":"POST","requestID":"40ed2b26a77af34f3a5013e808a6313e","responseTime":1709,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:14:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.714","http_referrer":"","http_user_agent":"node-fetch","requestID":"40ed2b26a77af34f3a5013e808a6313e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0Mn0.JUkAgMG9-Jw55cGlmpQgoGW0krzJv8e55JKOpy1lcc0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"c323a2ee3a392a9d694c72f342e9dc04","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:02Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.966879,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:02Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398042,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0Mn0.JUkAgMG9-Jw55cGlmpQgoGW0krzJv8e55JKOpy1lcc0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c323a2ee3a392a9d694c72f342e9dc04"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} gateway_1 | {"time_local":"08/Feb/2024:13:14:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1722","request_time":"4.225","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"34b90ea8304a375be71a834e3118f745"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b179fc80-ea61-4853-bbc2-d7c869af52a8' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23efe6a-4a5f-43e5-b907-91ce00547793","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9103ac8a-cbe2-4cab-9cd7-223f0d0a4b5d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398042.7899501} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c323a2ee3a392a9d694c72f342e9dc04"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"082e09ec-9e2a-46f4-8b75-670e62c6ec6f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398042.7982488} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c323a2ee3a392a9d694c72f342e9dc04"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1ec1fbe8-9a4d-45ad-8013-60e42475a90d' closed"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23efe6a-4a5f-43e5-b907-91ce00547793","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"220b7315-f0bd-43e7-97ab-dfe5acf8d96b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398043.1125588} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9ef033c-06b2-4910-95b7-254c4e93f0a5","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398043.1127996} authorization_1 | {"level":"info","message":"POST /relations/update 200 318ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c323a2ee3a392a9d694c72f342e9dc04"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":318}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23efe6a-4a5f-43e5-b907-91ce00547793","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23efe6a-4a5f-43e5-b907-91ce00547793","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:03.112518027Z"}]},"request_id":"15fea9fc-810b-4653-983c-3cae0f886342","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398043.1206808} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c323a2ee3a392a9d694c72f342e9dc04"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 729ms","method":"POST","requestID":"c323a2ee3a392a9d694c72f342e9dc04","responseTime":729,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:14:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.738","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c323a2ee3a392a9d694c72f342e9dc04"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0M30.-Kj5Ddg36_OsqiJjj8SiMK7yUJArXbyn4S9pnY4yg7E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9d2804b3ee3b522d7e3886036bc1c3a6","responseTime":2,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:03Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.623224,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:03Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398043,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0M30.-Kj5Ddg36_OsqiJjj8SiMK7yUJArXbyn4S9pnY4yg7E"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d2804b3ee3b522d7e3886036bc1c3a6"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15b0d672-a0e3-4770-a70f-68cddb2f8a69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"97718f8b-953e-4846-a718-9ad948446238","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398043.3140311} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d2804b3ee3b522d7e3886036bc1c3a6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"316624c7-8254-4651-9e67-ccc726bfcdab","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398043.3214839} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d2804b3ee3b522d7e3886036bc1c3a6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15b0d672-a0e3-4770-a70f-68cddb2f8a69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"5f5afa48-7591-4899-bde0-059102d44381","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398043.514303} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4e49542c-41d9-4f3a-8d6a-c1ec3b848fae","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398043.5149841} authorization_1 | {"level":"info","message":"POST /relations/update 200 197ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d2804b3ee3b522d7e3886036bc1c3a6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":197}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15b0d672-a0e3-4770-a70f-68cddb2f8a69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15b0d672-a0e3-4770-a70f-68cddb2f8a69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:03.514267586Z"}]},"request_id":"54a956af-f1ec-49ef-9052-f0f37c45c34f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398043.522844} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9d2804b3ee3b522d7e3886036bc1c3a6"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 397ms","method":"POST","requestID":"9d2804b3ee3b522d7e3886036bc1c3a6","responseTime":397,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:14:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.428","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9d2804b3ee3b522d7e3886036bc1c3a6"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0M30.-Kj5Ddg36_OsqiJjj8SiMK7yUJArXbyn4S9pnY4yg7E","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d94db031938f209f227b024be23f30a1","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:04Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.922988,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:04Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398043,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0M30.-Kj5Ddg36_OsqiJjj8SiMK7yUJArXbyn4S9pnY4yg7E"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d94db031938f209f227b024be23f30a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23efe6a-4a5f-43e5-b907-91ce00547793","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23efe6a-4a5f-43e5-b907-91ce00547793","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:03.112518027Z"}]},"request_id":"0d0efeec-d86d-401d-a4f3-ee7741397547","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398044.0136158} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d94db031938f209f227b024be23f30a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3c3c0b7-ebc5-47f3-937a-089be53156f0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398044.0199015} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d94db031938f209f227b024be23f30a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23efe6a-4a5f-43e5-b907-91ce00547793","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23efe6a-4a5f-43e5-b907-91ce00547793","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:03.112518027Z"}]},"request_id":"507e7617-79c5-46e0-9921-1887b82713b1","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398044.1919634} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d94db031938f209f227b024be23f30a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:14:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d23efe6a-4a5f-43e5-b907-91ce00547793 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.201","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"d94db031938f209f227b024be23f30a1"} device_1 | {"level":"info","message":"PATCH /devices/d23efe6a-4a5f-43e5-b907-91ce00547793 200 196ms","method":"PATCH","requestID":"d94db031938f209f227b024be23f30a1","responseTime":196,"status":200,"url":"/devices/d23efe6a-4a5f-43e5-b907-91ce00547793"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0NH0.cLap0r7eE_hwzK4BQTrV868nKUvBb0WHNqq9Pfm9G44","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"13e65ecdef90adca83ec84d1170643aa","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:04Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.76086,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:04Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398044,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0NH0.cLap0r7eE_hwzK4BQTrV868nKUvBb0WHNqq9Pfm9G44"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"13e65ecdef90adca83ec84d1170643aa"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:14:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d23efe6a-4a5f-43e5-b907-91ce00547793/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.175","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"13e65ecdef90adca83ec84d1170643aa"} device_1 | {"level":"info","message":"POST /devices/d23efe6a-4a5f-43e5-b907-91ce00547793/websocket 200 168ms","method":"POST","requestID":"13e65ecdef90adca83ec84d1170643aa","responseTime":168,"status":200,"url":"/devices/d23efe6a-4a5f-43e5-b907-91ce00547793/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e29487b1cbdfd9a591cc91c44568fa2b","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:14:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69/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":"e29487b1cbdfd9a591cc91c44568fa2b"} device_1 | {"level":"info","message":"OPTIONS /devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69/websocket 200 1ms","method":"OPTIONS","requestID":"e29487b1cbdfd9a591cc91c44568fa2b","responseTime":1,"status":200,"url":"/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0NX0.4dcPWC_0IpO2j89XEp2ij7CHccKU3O_E9DdPYqAvogk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aa05e85ee571b4d67ff1cb75d6f3b561","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:05Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723791,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:05Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398045,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0NX0.4dcPWC_0IpO2j89XEp2ij7CHccKU3O_E9DdPYqAvogk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa05e85ee571b4d67ff1cb75d6f3b561"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:14:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.173","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"aa05e85ee571b4d67ff1cb75d6f3b561"} device_1 | {"level":"info","message":"POST /devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69/websocket 200 168ms","method":"POST","requestID":"aa05e85ee571b4d67ff1cb75d6f3b561","responseTime":168,"status":200,"url":"/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0NX0.4dcPWC_0IpO2j89XEp2ij7CHccKU3O_E9DdPYqAvogk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"4e9ad2611fabacfec5029a495d1e525a","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:05Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.67223,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398045,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0NX0.4dcPWC_0IpO2j89XEp2ij7CHccKU3O_E9DdPYqAvogk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e9ad2611fabacfec5029a495d1e525a"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23efe6a-4a5f-43e5-b907-91ce00547793","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23efe6a-4a5f-43e5-b907-91ce00547793","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:03.112518027Z"}]},"request_id":"50cacb2a-2ae5-4c79-a213-819f34f69741","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398045.8398066} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4e9ad2611fabacfec5029a495d1e525a"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:14:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d23efe6a-4a5f-43e5-b907-91ce00547793? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.025","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e9ad2611fabacfec5029a495d1e525a"} device_1 | {"level":"info","message":"GET /devices/d23efe6a-4a5f-43e5-b907-91ce00547793? 200 17ms","method":"GET","requestID":"4e9ad2611fabacfec5029a495d1e525a","responseTime":17,"status":200,"url":"/devices/d23efe6a-4a5f-43e5-b907-91ce00547793?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0NX0.4dcPWC_0IpO2j89XEp2ij7CHccKU3O_E9DdPYqAvogk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"f3063d7778afee42b4be51d1abc48e70","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:05Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.052283,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:05Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398045,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0NX0.4dcPWC_0IpO2j89XEp2ij7CHccKU3O_E9DdPYqAvogk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3063d7778afee42b4be51d1abc48e70"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15b0d672-a0e3-4770-a70f-68cddb2f8a69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15b0d672-a0e3-4770-a70f-68cddb2f8a69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:03.514267586Z"}]},"request_id":"dad6e920-f739-40e8-a765-148c24307b77","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398045.8648157} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f3063d7778afee42b4be51d1abc48e70"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:14:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69? 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":"f3063d7778afee42b4be51d1abc48e70"} device_1 | {"level":"info","message":"GET /devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69? 200 17ms","method":"GET","requestID":"f3063d7778afee42b4be51d1abc48e70","responseTime":17,"status":200,"url":"/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0NX0.4dcPWC_0IpO2j89XEp2ij7CHccKU3O_E9DdPYqAvogk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b4c5f667c4ac713e9b6ae399e2b0e95f","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:05Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.022405,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:05Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398045,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0NX0.4dcPWC_0IpO2j89XEp2ij7CHccKU3O_E9DdPYqAvogk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4c5f667c4ac713e9b6ae399e2b0e95f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:06Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.51994,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398045,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0NX0.4dcPWC_0IpO2j89XEp2ij7CHccKU3O_E9DdPYqAvogk"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"efdc4630-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:52812","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:06Z"} authorization_1 | {"client_addr":"127.0.0.1:52812","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.450086,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398045,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0NX0.4dcPWC_0IpO2j89XEp2ij7CHccKU3O_E9DdPYqAvogk"} authorization_1 | {"level":"info","message":"POST /authorize 200 13ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"efdc9450-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":13}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23efe6a-4a5f-43e5-b907-91ce00547793","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23efe6a-4a5f-43e5-b907-91ce00547793","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:03.112518027Z"}]},"request_id":"b4889378-3ef2-4f20-8487-6a66d358b33b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398046.2423677} authorization_1 | {"level":"info","message":"POST /relations/query 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"efdc4630-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15b0d672-a0e3-4770-a70f-68cddb2f8a69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15b0d672-a0e3-4770-a70f-68cddb2f8a69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:03.514267586Z"}]},"request_id":"85e07bfd-9b44-4443-97f7-8c8e98e1ae95","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398046.2495177} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"efdc9450-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"GET /devices/d23efe6a-4a5f-43e5-b907-91ce00547793? 200 25ms","method":"GET","requestID":"efdc4630-c683-11ee-9765-47e7fd15fc3d","responseTime":25,"status":200,"url":"/devices/d23efe6a-4a5f-43e5-b907-91ce00547793?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69? 200 30ms","method":"GET","requestID":"efdc9450-c683-11ee-9765-47e7fd15fc3d","responseTime":30,"status":200,"url":"/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:06Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.510469,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:06Z"} authorization_1 | {"client_addr":"127.0.0.1:52812","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398045,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0NX0.4dcPWC_0IpO2j89XEp2ij7CHccKU3O_E9DdPYqAvogk"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f02cfe40-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:52812","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.957414,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398045,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0NX0.4dcPWC_0IpO2j89XEp2ij7CHccKU3O_E9DdPYqAvogk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f02d4c60-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23efe6a-4a5f-43e5-b907-91ce00547793","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23efe6a-4a5f-43e5-b907-91ce00547793","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:03.112518027Z"}]},"request_id":"5afb6f85-182b-4653-89ad-ca7f42f9a62c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398046.7709608} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f02cfe40-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15b0d672-a0e3-4770-a70f-68cddb2f8a69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15b0d672-a0e3-4770-a70f-68cddb2f8a69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:03.514267586Z"}]},"request_id":"7641d150-39eb-438d-8caf-140102e2c682","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398046.7721286} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f02d4c60-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/d23efe6a-4a5f-43e5-b907-91ce00547793? 200 22ms","method":"GET","requestID":"f02cfe40-c683-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/d23efe6a-4a5f-43e5-b907-91ce00547793?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69? 200 21ms","method":"GET","requestID":"f02d4c60-c683-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:06Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":1.389491,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:06Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f030ced0-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/d23efe6a-4a5f-43e5-b907-91ce00547793/signaling 200 8ms","method":"POST","requestID":"f030ced0-c683-11ee-9765-47e7fd15fc3d","responseTime":8,"status":200,"url":"/devices/d23efe6a-4a5f-43e5-b907-91ce00547793/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:06Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.77825,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:06Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0325570-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69/signaling 200 8ms","method":"POST","requestID":"f0325570-c683-11ee-9765-47e7fd15fc3d","responseTime":8,"status":200,"url":"/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"6287a557-5c81-4a4f-8b93-960789bc2897"},{"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":"45aa84d0-8a89-4821-bd6e-bb1f7d278c04"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"bf9b2422-2aab-475d-944f-dd0f3af67cb9"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793"},{"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/15b0d672-a0e3-4770-a70f-68cddb2f8a69"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:06Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.900827,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:06Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398045,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0NX0.4dcPWC_0IpO2j89XEp2ij7CHccKU3O_E9DdPYqAvogk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0342a30-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F853b791d-af04-440d-a4f7-64996fc9a9bb#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F853b791d-af04-440d-a4f7-64996fc9a9bb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"002fe3a6-0f26-4fb7-8f70-e1d44c5a2421","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398046.9637337} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"943687bc-ca51-44cd-ad47-8e0c8c652c01","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398046.9641445} authorization_1 | {"level":"info","message":"POST /relations/update 200 201ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b4c5f667c4ac713e9b6ae399e2b0e95f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":201}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"f8d47b84-e6fa-4808-94cc-1dfaa602718d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398046.9659474} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0bc27e74-fd24-49ae-84f6-67e913011f0e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398046.967066} authorization_1 | {"level":"info","message":"POST /relations/update 200 160ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f0342a30-c683-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":160}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1102ms","method":"POST","requestID":"b4c5f667c4ac713e9b6ae399e2b0e95f","responseTime":1102,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:14:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"1.108","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b4c5f667c4ac713e9b6ae399e2b0e95f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0Nn0.8d9O6BhU5M7FcOP9tAmkyek86V2AgrVpnJhE3zWyJv0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f5caaed9918b92cb70d202ffca19f4e9","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:06Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.932304,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:06Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398046,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0Nn0.8d9O6BhU5M7FcOP9tAmkyek86V2AgrVpnJhE3zWyJv0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5caaed9918b92cb70d202ffca19f4e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23efe6a-4a5f-43e5-b907-91ce00547793","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd23efe6a-4a5f-43e5-b907-91ce00547793","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:03.112518027Z"}]},"request_id":"5022e763-89b6-42cb-8006-e10197cf0607","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398046.9954522} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f5caaed9918b92cb70d202ffca19f4e9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 347ms","method":"POST","requestID":"f0342a30-c683-11ee-9765-47e7fd15fc3d","responseTime":347,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:14:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d23efe6a-4a5f-43e5-b907-91ce00547793? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.172","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f5caaed9918b92cb70d202ffca19f4e9"} device_1 | {"level":"info","message":"GET /devices/d23efe6a-4a5f-43e5-b907-91ce00547793? 200 167ms","method":"GET","requestID":"f5caaed9918b92cb70d202ffca19f4e9","responseTime":167,"status":200,"url":"/devices/d23efe6a-4a5f-43e5-b907-91ce00547793?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0N30.oQGzkKEFhijR0wXHk_CWU23HfarV1oNOiyX3VWylBw8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"169973410c147a27ca6cb00a076f9a6b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:07Z"} authorization_1 | {"client_addr":"127.0.0.1:54744","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.027199,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398047,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA0N30.oQGzkKEFhijR0wXHk_CWU23HfarV1oNOiyX3VWylBw8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"169973410c147a27ca6cb00a076f9a6b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15b0d672-a0e3-4770-a70f-68cddb2f8a69","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F15b0d672-a0e3-4770-a70f-68cddb2f8a69","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:03.514267586Z"}]},"request_id":"d9168e66-1936-4276-b6bd-9daa0a229c75","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398047.1706765} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"169973410c147a27ca6cb00a076f9a6b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:14:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69? 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":"169973410c147a27ca6cb00a076f9a6b"} device_1 | {"level":"info","message":"GET /devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69? 200 15ms","method":"GET","requestID":"169973410c147a27ca6cb00a076f9a6b","responseTime":15,"status":200,"url":"/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/31d5d435-0959-40c8-9a12-315bfbc23460'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/6a25280d-1694-4724-89be-c534d0032f59'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/bf20179a-f596-4baa-8ba3-dbc0c5288ee8'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/b0080dfc-1787-4a5a-94ac-e999dd70f683'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/1bbf3d7a-0588-44c3-a7f6-2a2c57072dd0'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/62f2159d-fa67-4509-93cf-e20c0a1745d5'"} device_1 | {"data":{"peerconnection":"f7c13e34-c7f3-4add-8877-b9bc7111af9d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f7c13e34-c7f3-4add-8877-b9bc7111af9d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"77aa1def29be9247a2c64a8f43da059e","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793"},{"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/15b0d672-a0e3-4770-a70f-68cddb2f8a69"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"77aa1def29be9247a2c64a8f43da059e","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:14:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"77aa1def29be9247a2c64a8f43da059e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA4OH0.Vl1cADO-uW802Wa2c3PrWDTeMvZG9clHicBz5nBR_U0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"545cd7255e326b051fec48f4a70380c7","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:48Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.594015,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398088,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA4OH0.Vl1cADO-uW802Wa2c3PrWDTeMvZG9clHicBz5nBR_U0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"545cd7255e326b051fec48f4a70380c7"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} gateway_1 | {"time_local":"08/Feb/2024:13:14:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"545cd7255e326b051fec48f4a70380c7"} experiment_1 | {"level":"info","message":"GET /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb 200 17ms","method":"GET","requestID":"545cd7255e326b051fec48f4a70380c7","responseTime":17,"status":200,"url":"/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} device_1 | {"data":{"peerconnection":"f7c13e34-c7f3-4add-8877-b9bc7111af9d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA4OH0.Vl1cADO-uW802Wa2c3PrWDTeMvZG9clHicBz5nBR_U0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c644bb2ab41d5ec2be9015757c1e151e","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:48Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.192014,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398088,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA4OH0.Vl1cADO-uW802Wa2c3PrWDTeMvZG9clHicBz5nBR_U0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c644bb2ab41d5ec2be9015757c1e151e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} gateway_1 | {"time_local":"08/Feb/2024:13:14:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c644bb2ab41d5ec2be9015757c1e151e"} experiment_1 | {"level":"info","message":"GET /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb 200 14ms","method":"GET","requestID":"c644bb2ab41d5ec2be9015757c1e151e","responseTime":14,"status":200,"url":"/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} device_1 | {"data":{"peerconnection":"f7c13e34-c7f3-4add-8877-b9bc7111af9d","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA4OH0.Vl1cADO-uW802Wa2c3PrWDTeMvZG9clHicBz5nBR_U0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5f85a9fd685e2e2e371dae5ea9bfa9a5","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:48Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.24486,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398088,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA4OH0.Vl1cADO-uW802Wa2c3PrWDTeMvZG9clHicBz5nBR_U0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5f85a9fd685e2e2e371dae5ea9bfa9a5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} gateway_1 | {"time_local":"08/Feb/2024:13:14:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5f85a9fd685e2e2e371dae5ea9bfa9a5"} experiment_1 | {"level":"info","message":"GET /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb 200 14ms","method":"GET","requestID":"5f85a9fd685e2e2e371dae5ea9bfa9a5","responseTime":14,"status":200,"url":"/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f7c13e34-c7f3-4add-8877-b9bc7111af9d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d03f55cf34d5029b4ae64e52ad435025","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/d23efe6a-4a5f-43e5-b907-91ce00547793"},{"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/15b0d672-a0e3-4770-a70f-68cddb2f8a69"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:48Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff7c13e34-c7f3-4add-8877-b9bc7111af9d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a0284411-a946-43df-929e-13b3426657c2","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398088.6649377} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.689322,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0926bb20-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA4OH0.Vl1cADO-uW802Wa2c3PrWDTeMvZG9clHicBz5nBR_U0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e00a47ee44ae598ca6767b1fa73e0f2b","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:48Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.360661,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398088,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA4OH0.Vl1cADO-uW802Wa2c3PrWDTeMvZG9clHicBz5nBR_U0"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e00a47ee44ae598ca6767b1fa73e0f2b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} gateway_1 | {"time_local":"08/Feb/2024:13:14:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e00a47ee44ae598ca6767b1fa73e0f2b"} experiment_1 | {"level":"info","message":"GET /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb 200 13ms","method":"GET","requestID":"e00a47ee44ae598ca6767b1fa73e0f2b","responseTime":13,"status":200,"url":"/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d 200 153ms","method":"GET","requestID":"0926bb20-c684-11ee-9765-47e7fd15fc3d","responseTime":153,"status":200,"url":"/peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA4OH0.Vl1cADO-uW802Wa2c3PrWDTeMvZG9clHicBz5nBR_U0","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"1f784bf8a8ad6e80b48497d950acf2b3","responseTime":7,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:48Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.741667,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:48Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398088,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA4OH0.Vl1cADO-uW802Wa2c3PrWDTeMvZG9clHicBz5nBR_U0"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1f784bf8a8ad6e80b48497d950acf2b3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 337ms","method":"POST","requestID":"d03f55cf34d5029b4ae64e52ad435025","responseTime":337,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:14:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.341","http_referrer":"","http_user_agent":"node-fetch","requestID":"d03f55cf34d5029b4ae64e52ad435025"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} gateway_1 | {"time_local":"08/Feb/2024:13:14:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1f784bf8a8ad6e80b48497d950acf2b3"} experiment_1 | {"level":"info","message":"GET /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb 200 167ms","method":"GET","requestID":"1f784bf8a8ad6e80b48497d950acf2b3","responseTime":167,"status":200,"url":"/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA4OX0.keC29bsf3ciFqqV-azRMaK-_NX1dmH3aKSLST8Jn45w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"463b1e32741c0dea2924d3b15c6e7824","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:49Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.14063,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:49Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398089,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA4OX0.keC29bsf3ciFqqV-azRMaK-_NX1dmH3aKSLST8Jn45w"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"463b1e32741c0dea2924d3b15c6e7824"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:49Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.166777,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:49Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398089,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA4OX0.keC29bsf3ciFqqV-azRMaK-_NX1dmH3aKSLST8Jn45w"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"095df7c0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"f7c13e34-c7f3-4add-8877-b9bc7111af9d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2d7e79f90da7ac782544b90c9106da26","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff7c13e34-c7f3-4add-8877-b9bc7111af9d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ff7c13e34-c7f3-4add-8877-b9bc7111af9d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"621cf7fd-18a5-4f62-aa33-758cda0be98b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398089.044946} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7c0b1c2-f721-4695-89ae-b5668d2e2ed3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398089.0454419} 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/d23efe6a-4a5f-43e5-b907-91ce00547793"},{"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/15b0d672-a0e3-4770-a70f-68cddb2f8a69"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6935f6c170b6c9a7a162385f4bce3131","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"095df7c0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":10}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","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/d23efe6a-4a5f-43e5-b907-91ce00547793"},{"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/15b0d672-a0e3-4770-a70f-68cddb2f8a69"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"f7c13e34-c7f3-4add-8877-b9bc7111af9d","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d 204 317ms","method":"DELETE","requestID":"095df7c0-c684-11ee-9765-47e7fd15fc3d","responseTime":317,"status":204,"url":"/peerconnections/f7c13e34-c7f3-4add-8877-b9bc7111af9d"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F853b791d-af04-440d-a4f7-64996fc9a9bb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F853b791d-af04-440d-a4f7-64996fc9a9bb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"3f6a6b68-fb16-49b3-8a6e-c270784b26a8","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398089.6753547} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2b4a8f82-491e-439c-aef3-d966d94512e7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398089.6757128} authorization_1 | {"level":"info","message":"POST /relations/update 200 175ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"463b1e32741c0dea2924d3b15c6e7824"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":175}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} gateway_1 | {"time_local":"08/Feb/2024:13:14:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.654","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"463b1e32741c0dea2924d3b15c6e7824"} gateway_1 | {"time_local":"08/Feb/2024:13:14:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1693","request_time":"46.277","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"34e9cd63df70f16ab8336fb884595f8e"} experiment_1 | {"level":"info","message":"DELETE /experiments/853b791d-af04-440d-a4f7-64996fc9a9bb 204 1651ms","method":"DELETE","requestID":"463b1e32741c0dea2924d3b15c6e7824","responseTime":1651,"status":204,"url":"/experiments/853b791d-af04-440d-a4f7-64996fc9a9bb"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1612ms","method":"POST","requestID":"2d7e79f90da7ac782544b90c9106da26","responseTime":1612,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:14: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":"1.616","http_referrer":"","http_user_agent":"node-fetch","requestID":"2d7e79f90da7ac782544b90c9106da26"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1611ms","method":"POST","requestID":"6935f6c170b6c9a7a162385f4bce3131","responseTime":1611,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:14: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":"1.617","http_referrer":"","http_user_agent":"node-fetch","requestID":"6935f6c170b6c9a7a162385f4bce3131"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5MH0.Cm_3tRRDwOCxy8G5F1D3PD82ZeGNqjdZ0D9khqKemos","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"3204e8d173d18b39f3b7f1716fcd4eb9","responseTime":9,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:14:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1719","request_time":"45.018","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"841f69fd31e4357f124eef2a158a1e2d"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:50Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.472916,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:50Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398090,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5MH0.Cm_3tRRDwOCxy8G5F1D3PD82ZeGNqjdZ0D9khqKemos"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3204e8d173d18b39f3b7f1716fcd4eb9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d23efe6a-4a5f-43e5-b907-91ce00547793' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0c547a4-946a-469f-88d5-906619cd3d5c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a8fa4c39-7dd3-48f5-8cd8-4b7075cb9346","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398090.9833953} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3204e8d173d18b39f3b7f1716fcd4eb9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77f06910-6841-4246-ab34-9faac24d7d9c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398090.9916174} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3204e8d173d18b39f3b7f1716fcd4eb9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/15b0d672-a0e3-4770-a70f-68cddb2f8a69' closed"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0c547a4-946a-469f-88d5-906619cd3d5c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"b634c544-ae5d-4009-a415-781761bb3504","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398091.2309458} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0db7dbd-a217-4519-9138-5485b82a3745","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398091.2311165} authorization_1 | {"level":"info","message":"POST /relations/update 200 245ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3204e8d173d18b39f3b7f1716fcd4eb9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":245}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0c547a4-946a-469f-88d5-906619cd3d5c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0c547a4-946a-469f-88d5-906619cd3d5c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:51.230881775Z"}]},"request_id":"3b662737-8ed3-470b-8957-5d82c0199ed3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398091.2403917} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3204e8d173d18b39f3b7f1716fcd4eb9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 575ms","method":"POST","requestID":"3204e8d173d18b39f3b7f1716fcd4eb9","responseTime":575,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:14: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.588","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3204e8d173d18b39f3b7f1716fcd4eb9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5MX0.QypiTLRoE2DhYtmZiXMKjN-_jv_tVhyy1Y_plekTGIE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d9d62b6d42463ec788d639559c5619d8","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:51Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.921475,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:51Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398091,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5MX0.QypiTLRoE2DhYtmZiXMKjN-_jv_tVhyy1Y_plekTGIE"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9d62b6d42463ec788d639559c5619d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fd405a3-c288-4302-8640-4d1faf701596","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e5aae592-8f42-4144-a1df-73bdc778aaf4","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398091.424246} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9d62b6d42463ec788d639559c5619d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0bcb0f9e-f578-4b8f-ada1-f647cabe274a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398091.4318707} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9d62b6d42463ec788d639559c5619d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fd405a3-c288-4302-8640-4d1faf701596","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"a4d1c799-7739-4481-beb5-b8a68346a005","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398091.5918927} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"87e637c4-b3a7-48b1-bcd7-92c89a9d59d9","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398091.592301} authorization_1 | {"level":"info","message":"POST /relations/update 200 164ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9d62b6d42463ec788d639559c5619d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":164}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fd405a3-c288-4302-8640-4d1faf701596","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fd405a3-c288-4302-8640-4d1faf701596","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:51.591842031Z"}]},"request_id":"673075f8-4b70-4262-925c-e10310ef6b31","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398091.5990038} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d9d62b6d42463ec788d639559c5619d8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 353ms","method":"POST","requestID":"d9d62b6d42463ec788d639559c5619d8","responseTime":353,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:14: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.385","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d9d62b6d42463ec788d639559c5619d8"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5Mn0.QgWrx--1t_IARxPBARZ-a_JzzReuWr8oDI-XvHmfEWI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6bdfdd404bc697317638837e82c3e125","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:52Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.754135,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:52Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398092,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5Mn0.QgWrx--1t_IARxPBARZ-a_JzzReuWr8oDI-XvHmfEWI"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bdfdd404bc697317638837e82c3e125"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5Mn0.QgWrx--1t_IARxPBARZ-a_JzzReuWr8oDI-XvHmfEWI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f622ad32fb58a0c0ab5509dd0a35c886","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0c547a4-946a-469f-88d5-906619cd3d5c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0c547a4-946a-469f-88d5-906619cd3d5c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:51.230881775Z"}]},"request_id":"724fe39b-697d-44b1-9188-da28bdf6814a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398092.069267} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bdfdd404bc697317638837e82c3e125"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:52Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.840218,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:52Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fd405a3-c288-4302-8640-4d1faf701596","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/1fd405a3-c288-4302-8640-4d1faf701596","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398092,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5Mn0.QgWrx--1t_IARxPBARZ-a_JzzReuWr8oDI-XvHmfEWI"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f622ad32fb58a0c0ab5509dd0a35c886"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a43d80f2-1ed0-4f4c-b7d3-265fc0721ba3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398092.0764637} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bdfdd404bc697317638837e82c3e125"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fd405a3-c288-4302-8640-4d1faf701596","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fd405a3-c288-4302-8640-4d1faf701596","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:51.591842031Z"}]},"request_id":"3f8dc3a4-9362-4340-b138-59fec0251384","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398092.0821254} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f622ad32fb58a0c0ab5509dd0a35c886"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"104e610f-8eb2-4c8c-b1cb-248e4b7c16cd","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398092.0876071} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f622ad32fb58a0c0ab5509dd0a35c886"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0c547a4-946a-469f-88d5-906619cd3d5c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0c547a4-946a-469f-88d5-906619cd3d5c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:51.230881775Z"}]},"request_id":"cb3eec01-f34b-4b43-9dd0-1fb9e3251a2d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398092.2754052} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6bdfdd404bc697317638837e82c3e125"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"PATCH /devices/c0c547a4-946a-469f-88d5-906619cd3d5c 200 221ms","method":"PATCH","requestID":"6bdfdd404bc697317638837e82c3e125","responseTime":221,"status":200,"url":"/devices/c0c547a4-946a-469f-88d5-906619cd3d5c"} gateway_1 | {"time_local":"08/Feb/2024:13:14:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/c0c547a4-946a-469f-88d5-906619cd3d5c HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.225","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"6bdfdd404bc697317638837e82c3e125"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5Mn0.QgWrx--1t_IARxPBARZ-a_JzzReuWr8oDI-XvHmfEWI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6df0bbb1791f7df7f843ccefeb1b56ae","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:52Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.165976,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:52Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398092,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5Mn0.QgWrx--1t_IARxPBARZ-a_JzzReuWr8oDI-XvHmfEWI"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6df0bbb1791f7df7f843ccefeb1b56ae"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fd405a3-c288-4302-8640-4d1faf701596","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fd405a3-c288-4302-8640-4d1faf701596","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:51.591842031Z"}]},"request_id":"8fd9458c-e251-4578-b869-ddda5d6c5128","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398092.4532022} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f622ad32fb58a0c0ab5509dd0a35c886"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"PATCH /devices/1fd405a3-c288-4302-8640-4d1faf701596 200 391ms","method":"PATCH","requestID":"f622ad32fb58a0c0ab5509dd0a35c886","responseTime":391,"status":200,"url":"/devices/1fd405a3-c288-4302-8640-4d1faf701596"} gateway_1 | {"time_local":"08/Feb/2024:13:14:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/1fd405a3-c288-4302-8640-4d1faf701596 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.396","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"f622ad32fb58a0c0ab5509dd0a35c886"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5Mn0.QgWrx--1t_IARxPBARZ-a_JzzReuWr8oDI-XvHmfEWI","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"6a6a6ecc3d18c08b2b3825ab34bf2b03","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:52Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.901004,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:52Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fd405a3-c288-4302-8640-4d1faf701596","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/1fd405a3-c288-4302-8640-4d1faf701596","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398092,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5Mn0.QgWrx--1t_IARxPBARZ-a_JzzReuWr8oDI-XvHmfEWI"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6a6a6ecc3d18c08b2b3825ab34bf2b03"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/c0c547a4-946a-469f-88d5-906619cd3d5c/websocket 200 346ms","method":"POST","requestID":"6df0bbb1791f7df7f843ccefeb1b56ae","responseTime":346,"status":200,"url":"/devices/c0c547a4-946a-469f-88d5-906619cd3d5c/websocket"} gateway_1 | {"time_local":"08/Feb/2024:13:14:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/c0c547a4-946a-469f-88d5-906619cd3d5c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.352","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"6df0bbb1791f7df7f843ccefeb1b56ae"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} device_1 | {"level":"info","message":"POST /devices/1fd405a3-c288-4302-8640-4d1faf701596/websocket 200 335ms","method":"POST","requestID":"6a6a6ecc3d18c08b2b3825ab34bf2b03","responseTime":335,"status":200,"url":"/devices/1fd405a3-c288-4302-8640-4d1faf701596/websocket"} gateway_1 | {"time_local":"08/Feb/2024:13:14:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1fd405a3-c288-4302-8640-4d1faf701596/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.341","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"6a6a6ecc3d18c08b2b3825ab34bf2b03"} device_1 | {"level":"info","message":"device 'http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/1fd405a3-c288-4302-8640-4d1faf701596' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5M30.zz1i7yza_JmQJ640jVAzdGjpc3zGggQNCYQ5n1O5hZk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8df313e9c7630a0dcbd1500173b09944","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:53Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.26774,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398093,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5M30.zz1i7yza_JmQJ640jVAzdGjpc3zGggQNCYQ5n1O5hZk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8df313e9c7630a0dcbd1500173b09944"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0c547a4-946a-469f-88d5-906619cd3d5c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0c547a4-946a-469f-88d5-906619cd3d5c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:51.230881775Z"}]},"request_id":"4c191320-0052-46cc-a473-eaa2d9744ad1","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398093.1380157} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8df313e9c7630a0dcbd1500173b09944"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:14:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c0c547a4-946a-469f-88d5-906619cd3d5c? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.024","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8df313e9c7630a0dcbd1500173b09944"} device_1 | {"level":"info","message":"GET /devices/c0c547a4-946a-469f-88d5-906619cd3d5c? 200 18ms","method":"GET","requestID":"8df313e9c7630a0dcbd1500173b09944","responseTime":18,"status":200,"url":"/devices/c0c547a4-946a-469f-88d5-906619cd3d5c?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5M30.zz1i7yza_JmQJ640jVAzdGjpc3zGggQNCYQ5n1O5hZk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"def383cf3dac5233f03e10ede0c48900","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:53Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916024,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fd405a3-c288-4302-8640-4d1faf701596","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/1fd405a3-c288-4302-8640-4d1faf701596","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398093,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5M30.zz1i7yza_JmQJ640jVAzdGjpc3zGggQNCYQ5n1O5hZk"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"def383cf3dac5233f03e10ede0c48900"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fd405a3-c288-4302-8640-4d1faf701596","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fd405a3-c288-4302-8640-4d1faf701596","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:51.591842031Z"}]},"request_id":"cfdba179-dc32-4690-be9c-f23a891aa1b8","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398093.158915} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"def383cf3dac5233f03e10ede0c48900"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:14:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1fd405a3-c288-4302-8640-4d1faf701596? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"def383cf3dac5233f03e10ede0c48900"} device_1 | {"level":"info","message":"GET /devices/1fd405a3-c288-4302-8640-4d1faf701596? 200 14ms","method":"GET","requestID":"def383cf3dac5233f03e10ede0c48900","responseTime":14,"status":200,"url":"/devices/1fd405a3-c288-4302-8640-4d1faf701596?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5M30.zz1i7yza_JmQJ640jVAzdGjpc3zGggQNCYQ5n1O5hZk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ef13c5950a22a6f92eba39787a8e85b9","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:53Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.007851,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:53Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398093,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5M30.zz1i7yza_JmQJ640jVAzdGjpc3zGggQNCYQ5n1O5hZk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef13c5950a22a6f92eba39787a8e85b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:53Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.19575,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398093,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5M30.zz1i7yza_JmQJ640jVAzdGjpc3zGggQNCYQ5n1O5hZk"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c0b6480-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"client_addr":"127.0.0.1:43696","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:53Z"} authorization_1 | {"client_addr":"127.0.0.1:43696","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.606946,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:53Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fd405a3-c288-4302-8640-4d1faf701596","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/1fd405a3-c288-4302-8640-4d1faf701596","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398093,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5M30.zz1i7yza_JmQJ640jVAzdGjpc3zGggQNCYQ5n1O5hZk"} authorization_1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c0bb2a0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0c547a4-946a-469f-88d5-906619cd3d5c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0c547a4-946a-469f-88d5-906619cd3d5c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:51.230881775Z"}]},"request_id":"a7de1b8b-456c-4062-83c4-092062142174","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398093.5275917} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c0b6480-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fd405a3-c288-4302-8640-4d1faf701596","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fd405a3-c288-4302-8640-4d1faf701596","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:51.591842031Z"}]},"request_id":"75bc38b1-0944-4275-9062-d0d890ac6db4","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398093.5318055} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c0bb2a0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"GET /devices/c0c547a4-946a-469f-88d5-906619cd3d5c? 200 21ms","method":"GET","requestID":"0c0b6480-c684-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/c0c547a4-946a-469f-88d5-906619cd3d5c?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1fd405a3-c288-4302-8640-4d1faf701596? 200 22ms","method":"GET","requestID":"0c0bb2a0-c684-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/1fd405a3-c288-4302-8640-4d1faf701596?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.004979,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398093,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5M30.zz1i7yza_JmQJ640jVAzdGjpc3zGggQNCYQ5n1O5hZk"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c64cf20-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:43696","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"client_addr":"127.0.0.1:43696","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.901329,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fd405a3-c288-4302-8640-4d1faf701596","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/1fd405a3-c288-4302-8640-4d1faf701596","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398093,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5M30.zz1i7yza_JmQJ640jVAzdGjpc3zGggQNCYQ5n1O5hZk"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c651d40-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0c547a4-946a-469f-88d5-906619cd3d5c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0c547a4-946a-469f-88d5-906619cd3d5c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:51.230881775Z"}]},"request_id":"2de6756c-2f30-4737-9107-f14849224596","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398094.1116276} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c64cf20-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fd405a3-c288-4302-8640-4d1faf701596","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fd405a3-c288-4302-8640-4d1faf701596","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:51.591842031Z"}]},"request_id":"7b076fa0-6de0-4117-8ce1-229b7ea36d8a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398094.1124966} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c651d40-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/c0c547a4-946a-469f-88d5-906619cd3d5c? 200 19ms","method":"GET","requestID":"0c64cf20-c684-11ee-9765-47e7fd15fc3d","responseTime":19,"status":200,"url":"/devices/c0c547a4-946a-469f-88d5-906619cd3d5c?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1fd405a3-c288-4302-8640-4d1faf701596? 200 18ms","method":"GET","requestID":"0c651d40-c684-11ee-9765-47e7fd15fc3d","responseTime":18,"status":200,"url":"/devices/1fd405a3-c288-4302-8640-4d1faf701596?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.804073,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c685190-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/c0c547a4-946a-469f-88d5-906619cd3d5c/signaling 200 8ms","method":"POST","requestID":"0c685190-c684-11ee-9765-47e7fd15fc3d","responseTime":8,"status":200,"url":"/devices/c0c547a4-946a-469f-88d5-906619cd3d5c/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.906229,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fd405a3-c288-4302-8640-4d1faf701596","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1fd405a3-c288-4302-8640-4d1faf701596","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c69d830-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/1fd405a3-c288-4302-8640-4d1faf701596/signaling 200 10ms","method":"POST","requestID":"0c69d830-c684-11ee-9765-47e7fd15fc3d","responseTime":10,"status":200,"url":"/devices/1fd405a3-c288-4302-8640-4d1faf701596/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"312df7de-a19c-4b76-9d60-b94564a9e3cb"},{"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":"e0af539f-a5d3-4c70-a99f-4e2ae983e59c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"01e798ce-dccd-47f2-b5b5-aa58a7c4a8a8"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c"},{"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/1fd405a3-c288-4302-8640-4d1faf701596"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.946397,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398093,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5M30.zz1i7yza_JmQJ640jVAzdGjpc3zGggQNCYQ5n1O5hZk"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c6bacf0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7a88032e-841b-40bd-a3e0-d1f7a47ed861#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7a88032e-841b-40bd-a3e0-d1f7a47ed861","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"5187e0a9-bfb3-4879-8357-f15636aba66c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398094.3239806} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"11f5e771-7182-45ac-b55d-eb6eeaa55036","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398094.3242002} authorization_1 | {"level":"info","message":"POST /relations/update 200 221ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ef13c5950a22a6f92eba39787a8e85b9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":221}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"ace6c85d-1d83-49b2-a04b-83d7837cc959","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398094.3262594} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9d68625b-96be-43c3-9088-348d72fd3e00","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398094.3265808} authorization_1 | {"level":"info","message":"POST /relations/update 200 177ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c6bacf0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":177}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1171ms","method":"POST","requestID":"ef13c5950a22a6f92eba39787a8e85b9","responseTime":1171,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:14:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"1.176","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ef13c5950a22a6f92eba39787a8e85b9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5NH0.b9h1ru32UB4YcpohOllRIpgzgKKfy9cotNqBfffRPNo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"20af69f73014fed3a3f2e695e52b4c5e","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.023095,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398094,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5NH0.b9h1ru32UB4YcpohOllRIpgzgKKfy9cotNqBfffRPNo"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20af69f73014fed3a3f2e695e52b4c5e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0c547a4-946a-469f-88d5-906619cd3d5c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fc0c547a4-946a-469f-88d5-906619cd3d5c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:51.230881775Z"}]},"request_id":"a339868a-18f7-42c1-868f-09f0e33f4b48","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398094.3549638} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"20af69f73014fed3a3f2e695e52b4c5e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 366ms","method":"POST","requestID":"0c6bacf0-c684-11ee-9765-47e7fd15fc3d","responseTime":366,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:14:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/c0c547a4-946a-469f-88d5-906619cd3d5c? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.170","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"20af69f73014fed3a3f2e695e52b4c5e"} device_1 | {"level":"info","message":"GET /devices/c0c547a4-946a-469f-88d5-906619cd3d5c? 200 166ms","method":"GET","requestID":"20af69f73014fed3a3f2e695e52b4c5e","responseTime":166,"status":200,"url":"/devices/c0c547a4-946a-469f-88d5-906619cd3d5c?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5NH0.b9h1ru32UB4YcpohOllRIpgzgKKfy9cotNqBfffRPNo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6135f1bd910928643bbc4a56062189a9","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.915496,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1fd405a3-c288-4302-8640-4d1faf701596","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/1fd405a3-c288-4302-8640-4d1faf701596","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398094,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5NH0.b9h1ru32UB4YcpohOllRIpgzgKKfy9cotNqBfffRPNo"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6135f1bd910928643bbc4a56062189a9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fd405a3-c288-4302-8640-4d1faf701596","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1fd405a3-c288-4302-8640-4d1faf701596","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:51.591842031Z"}]},"request_id":"db56a0e5-df5e-4188-b483-412942b1c979","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398094.5421607} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6135f1bd910928643bbc4a56062189a9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"peerconnection":"1722ba39-e3ba-4d13-a31e-7961d908f47c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/1fd405a3-c288-4302-8640-4d1faf701596? 200 27ms","method":"GET","requestID":"6135f1bd910928643bbc4a56062189a9","responseTime":27,"status":200,"url":"/devices/1fd405a3-c288-4302-8640-4d1faf701596?"} gateway_1 | {"time_local":"08/Feb/2024:13:14:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1fd405a3-c288-4302-8640-4d1faf701596? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.034","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6135f1bd910928643bbc4a56062189a9"} device_1 | {"data":{"peerconnection":"1722ba39-e3ba-4d13-a31e-7961d908f47c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"1722ba39-e3ba-4d13-a31e-7961d908f47c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"20f7d5b237bd9f5f76b25a75f343ad10","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/c0c547a4-946a-469f-88d5-906619cd3d5c"},{"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/1fd405a3-c288-4302-8640-4d1faf701596"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c"}}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5NH0.b9h1ru32UB4YcpohOllRIpgzgKKfy9cotNqBfffRPNo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"c132c921ea6a50da0b2fbbc776d67242","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.324934,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398094,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5NH0.b9h1ru32UB4YcpohOllRIpgzgKKfy9cotNqBfffRPNo"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c132c921ea6a50da0b2fbbc776d67242"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 193ms","method":"POST","requestID":"20f7d5b237bd9f5f76b25a75f343ad10","responseTime":193,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:14: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.197","http_referrer":"","http_user_agent":"node-fetch","requestID":"20f7d5b237bd9f5f76b25a75f343ad10"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} gateway_1 | {"time_local":"08/Feb/2024:13:14:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861 HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c132c921ea6a50da0b2fbbc776d67242"} experiment_1 | {"level":"info","message":"GET /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861 200 56ms","method":"GET","requestID":"c132c921ea6a50da0b2fbbc776d67242","responseTime":56,"status":200,"url":"/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} device_1 | {"data":{"peerconnection":"1722ba39-e3ba-4d13-a31e-7961d908f47c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5NH0.b9h1ru32UB4YcpohOllRIpgzgKKfy9cotNqBfffRPNo","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"15373c5de70fb469b7f76b5c2d80ea52","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.320617,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398094,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5NH0.b9h1ru32UB4YcpohOllRIpgzgKKfy9cotNqBfffRPNo"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15373c5de70fb469b7f76b5c2d80ea52"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} gateway_1 | {"time_local":"08/Feb/2024:13:14:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861 HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.137","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"15373c5de70fb469b7f76b5c2d80ea52"} experiment_1 | {"level":"info","message":"GET /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861 200 131ms","method":"GET","requestID":"15373c5de70fb469b7f76b5c2d80ea52","responseTime":131,"status":200,"url":"/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} device_1 | {"data":{"peerconnection":"1722ba39-e3ba-4d13-a31e-7961d908f47c","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5NX0.1UaZHgVuGvHRcw2EKuRTAzW02WyhWTtUJF3OaPmVVUA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f77254e041c56311e107781b046cf664","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:55Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.270366,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398095,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5NX0.1UaZHgVuGvHRcw2EKuRTAzW02WyhWTtUJF3OaPmVVUA"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f77254e041c56311e107781b046cf664"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} gateway_1 | {"time_local":"08/Feb/2024:13:14:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861 HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f77254e041c56311e107781b046cf664"} experiment_1 | {"level":"info","message":"GET /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861 200 19ms","method":"GET","requestID":"f77254e041c56311e107781b046cf664","responseTime":19,"status":200,"url":"/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"1722ba39-e3ba-4d13-a31e-7961d908f47c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"190497c029f8b11b103e93b32fca0513","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/c0c547a4-946a-469f-88d5-906619cd3d5c"},{"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/1fd405a3-c288-4302-8640-4d1faf701596"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:55Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1722ba39-e3ba-4d13-a31e-7961d908f47c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"86e21abb-7aee-4a47-84bb-6de89912f3a7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398095.2073548} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":4.012201,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0d0cf600-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5NX0.1UaZHgVuGvHRcw2EKuRTAzW02WyhWTtUJF3OaPmVVUA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6b93ee37d309b47692ba5b7d3504e253","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:55Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.178948,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398095,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5NX0.1UaZHgVuGvHRcw2EKuRTAzW02WyhWTtUJF3OaPmVVUA"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6b93ee37d309b47692ba5b7d3504e253"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} experiment_1 | {"level":"info","message":"GET /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861 200 14ms","method":"GET","requestID":"6b93ee37d309b47692ba5b7d3504e253","responseTime":14,"status":200,"url":"/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} gateway_1 | {"time_local":"08/Feb/2024:13:14:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861 HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6b93ee37d309b47692ba5b7d3504e253"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c 200 137ms","method":"GET","requestID":"0d0cf600-c684-11ee-9765-47e7fd15fc3d","responseTime":137,"status":200,"url":"/peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5NX0.1UaZHgVuGvHRcw2EKuRTAzW02WyhWTtUJF3OaPmVVUA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c9b4cbb2ad0347cbf19a32a934d0896b","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:55Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.340102,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398095,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5NX0.1UaZHgVuGvHRcw2EKuRTAzW02WyhWTtUJF3OaPmVVUA"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c9b4cbb2ad0347cbf19a32a934d0896b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 321ms","method":"POST","requestID":"190497c029f8b11b103e93b32fca0513","responseTime":321,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:14: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.324","http_referrer":"","http_user_agent":"node-fetch","requestID":"190497c029f8b11b103e93b32fca0513"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} gateway_1 | {"time_local":"08/Feb/2024:13:14:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.171","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c9b4cbb2ad0347cbf19a32a934d0896b"} experiment_1 | {"level":"info","message":"GET /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861 200 165ms","method":"GET","requestID":"c9b4cbb2ad0347cbf19a32a934d0896b","responseTime":165,"status":200,"url":"/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5NX0.1UaZHgVuGvHRcw2EKuRTAzW02WyhWTtUJF3OaPmVVUA","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0c3558fcc941eae7ef938d54137bbdf9","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:55Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.777645,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:55Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398095,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5NX0.1UaZHgVuGvHRcw2EKuRTAzW02WyhWTtUJF3OaPmVVUA"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c3558fcc941eae7ef938d54137bbdf9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:55Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.766097,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:55Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398095,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5NX0.1UaZHgVuGvHRcw2EKuRTAzW02WyhWTtUJF3OaPmVVUA"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0d414c70-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"1722ba39-e3ba-4d13-a31e-7961d908f47c","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a496f15f1176bbdcaff64f69eccc5ca1","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/c0c547a4-946a-469f-88d5-906619cd3d5c"},{"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/1fd405a3-c288-4302-8640-4d1faf701596"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9fd7a7d01721d8340efe99a35d31d2bd","responseTime":1,"status":200,"url":"/auth"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c"},{"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/1fd405a3-c288-4302-8640-4d1faf701596"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c"}}},"level":"info","message":"received a callback"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1722ba39-e3ba-4d13-a31e-7961d908f47c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1722ba39-e3ba-4d13-a31e-7961d908f47c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"b9eeeb82-14ab-49b7-a571-1a05422f840e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398095.5631204} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c46fb680-ae8d-41e0-8279-ad45de7ac043","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398095.5633404} authorization_1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0d414c70-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} device_1 | {"data":{"peerconnection":"1722ba39-e3ba-4d13-a31e-7961d908f47c","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c 204 328ms","method":"DELETE","requestID":"0d414c70-c684-11ee-9765-47e7fd15fc3d","responseTime":328,"status":204,"url":"/peerconnections/1722ba39-e3ba-4d13-a31e-7961d908f47c"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7a88032e-841b-40bd-a3e0-d1f7a47ed861': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7a88032e-841b-40bd-a3e0-d1f7a47ed861","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"fd281179-68e0-4c4b-88c0-be1ad656465b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398096.1918108} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4855e41-e139-4f8a-8136-90e8f300a829","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398096.192219} authorization_1 | {"level":"info","message":"POST /relations/update 200 164ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0c3558fcc941eae7ef938d54137bbdf9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":164}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} gateway_1 | {"time_local":"08/Feb/2024:13:14:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.614","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0c3558fcc941eae7ef938d54137bbdf9"} gateway_1 | {"time_local":"08/Feb/2024:13:14:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1722","request_time":"4.333","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"5aef0b145fee424e762fac6fa3905473"} gateway_1 | {"time_local":"08/Feb/2024:13:14:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1724","request_time":"4.501","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"3d22284f3fe1835ec7d101fc9bfd6caf"} experiment_1 | {"level":"info","message":"DELETE /experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861 204 1611ms","method":"DELETE","requestID":"0c3558fcc941eae7ef938d54137bbdf9","responseTime":1611,"status":204,"url":"/experiments/7a88032e-841b-40bd-a3e0-d1f7a47ed861"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1584ms","method":"POST","requestID":"a496f15f1176bbdcaff64f69eccc5ca1","responseTime":1584,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:14:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.587","http_referrer":"","http_user_agent":"node-fetch","requestID":"a496f15f1176bbdcaff64f69eccc5ca1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5N30.7gNigMT6i7AgpFWbdYKJTFeErmiJQPS-uY6d0poMavk","level":"info","message":"auth send jwt"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/c0c547a4-946a-469f-88d5-906619cd3d5c' closed"} authentication_1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"aa575206841143099b6e9f6e85509152","responseTime":7,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1590ms","method":"POST","requestID":"9fd7a7d01721d8340efe99a35d31d2bd","responseTime":1590,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:14:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.594","http_referrer":"","http_user_agent":"node-fetch","requestID":"9fd7a7d01721d8340efe99a35d31d2bd"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:57Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.812383,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:57Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398097,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5N30.7gNigMT6i7AgpFWbdYKJTFeErmiJQPS-uY6d0poMavk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa575206841143099b6e9f6e85509152"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1fd405a3-c288-4302-8640-4d1faf701596' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F033c6b71-4ecd-4233-ad89-3b72f03bfd4b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a8a4e7e6-57d2-47db-a3a1-ca282ff1a902","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398097.4754043} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa575206841143099b6e9f6e85509152"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7304c463-7a1a-441a-8e24-09337a06a0fb","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398097.4831116} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa575206841143099b6e9f6e85509152"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F033c6b71-4ecd-4233-ad89-3b72f03bfd4b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"0b05a4a1-c89a-40f3-9ffc-297c4478696a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398097.673753} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ab2ef13-856a-4516-aa92-421716f13d69","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398097.674025} authorization_1 | {"level":"info","message":"POST /relations/update 200 194ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa575206841143099b6e9f6e85509152"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":194}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F033c6b71-4ecd-4233-ad89-3b72f03bfd4b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F033c6b71-4ecd-4233-ad89-3b72f03bfd4b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:57.673716482Z"}]},"request_id":"40474d0d-3d41-4e8f-9631-a13f1befb673","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398097.6826558} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"aa575206841143099b6e9f6e85509152"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 532ms","method":"POST","requestID":"aa575206841143099b6e9f6e85509152","responseTime":532,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:14:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.546","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa575206841143099b6e9f6e85509152"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5N30.7gNigMT6i7AgpFWbdYKJTFeErmiJQPS-uY6d0poMavk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"8f49bb4557984806663bc130a83bc937","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:57Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.823756,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:57Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398097,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5N30.7gNigMT6i7AgpFWbdYKJTFeErmiJQPS-uY6d0poMavk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f49bb4557984806663bc130a83bc937"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F502dee70-22d9-4f67-b37d-0f66e53bc514","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e601e381-414c-41b2-86d7-5b80183ff255","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398097.9843202} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f49bb4557984806663bc130a83bc937"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"abd3f6fe-37c6-4ed6-914b-77ccd92be542","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398097.9957485} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f49bb4557984806663bc130a83bc937"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F502dee70-22d9-4f67-b37d-0f66e53bc514","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"72df1a14-97a9-4dd1-a7a1-bb4e8882f444","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398098.1840498} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bb587fe5-112f-4f8c-aeec-4575406a8d06","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398098.1840715} authorization_1 | {"level":"info","message":"POST /relations/update 200 191ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f49bb4557984806663bc130a83bc937"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":191}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F502dee70-22d9-4f67-b37d-0f66e53bc514","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F502dee70-22d9-4f67-b37d-0f66e53bc514","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:58.183999172Z"}]},"request_id":"991f3914-a9df-4c7d-bca0-e4565b778371","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398098.1893387} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8f49bb4557984806663bc130a83bc937"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 502ms","method":"POST","requestID":"8f49bb4557984806663bc130a83bc937","responseTime":502,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:14:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.530","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8f49bb4557984806663bc130a83bc937"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OH0.c9BzTAVaQ-ra4W7uCnkC1TFEFlz_CAub6Dz4hmoip74","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a095d320f1155818ccf5a325c30d966b","responseTime":4,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OH0.c9BzTAVaQ-ra4W7uCnkC1TFEFlz_CAub6Dz4hmoip74","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"958cf35ed553151772489a930166cc2b","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} device_1 | {"level":"info","message":"patchDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:58Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70875,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:58Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398098,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OH0.c9BzTAVaQ-ra4W7uCnkC1TFEFlz_CAub6Dz4hmoip74"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a095d320f1155818ccf5a325c30d966b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:48254","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:58Z"} authorization_1 | {"client_addr":"127.0.0.1:48254","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.076242,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:58Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398098,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OH0.c9BzTAVaQ-ra4W7uCnkC1TFEFlz_CAub6Dz4hmoip74"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"958cf35ed553151772489a930166cc2b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F033c6b71-4ecd-4233-ad89-3b72f03bfd4b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F033c6b71-4ecd-4233-ad89-3b72f03bfd4b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:57.673716482Z"}]},"request_id":"f1b09366-5d46-4410-afaa-430e4a1c4a1a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398098.6552455} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a095d320f1155818ccf5a325c30d966b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F502dee70-22d9-4f67-b37d-0f66e53bc514","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F502dee70-22d9-4f67-b37d-0f66e53bc514","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:58.183999172Z"}]},"request_id":"251bedb9-d5df-4873-ac2e-0542930d8922","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398098.6584134} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"958cf35ed553151772489a930166cc2b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8259a3a3-7d6f-4d29-998a-b83b358042bf","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398098.6599824} authorization_1 | {"level":"info","message":"POST /relations/update 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a095d320f1155818ccf5a325c30d966b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85e0eab6-9480-45d8-a2b9-8763b1d68b7e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398098.664374} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"958cf35ed553151772489a930166cc2b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F033c6b71-4ecd-4233-ad89-3b72f03bfd4b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F033c6b71-4ecd-4233-ad89-3b72f03bfd4b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:57.673716482Z"}]},"request_id":"f3a4e29b-6268-44f5-914a-dcb9b07f2f3d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398098.8269506} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a095d320f1155818ccf5a325c30d966b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:14:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.191","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"a095d320f1155818ccf5a325c30d966b"} device_1 | {"level":"info","message":"PATCH /devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b 200 185ms","method":"PATCH","requestID":"a095d320f1155818ccf5a325c30d966b","responseTime":185,"status":200,"url":"/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OH0.c9BzTAVaQ-ra4W7uCnkC1TFEFlz_CAub6Dz4hmoip74","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ad1b9b6c9364653bdef47ae29057e9a3","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:58Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.986031,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:58Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398098,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OH0.c9BzTAVaQ-ra4W7uCnkC1TFEFlz_CAub6Dz4hmoip74"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ad1b9b6c9364653bdef47ae29057e9a3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F502dee70-22d9-4f67-b37d-0f66e53bc514","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F502dee70-22d9-4f67-b37d-0f66e53bc514","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:58.183999172Z"}]},"request_id":"ef1c1f21-3bf7-412c-b3e7-1b98c32a5cc1","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398099.0025306} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"958cf35ed553151772489a930166cc2b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"patchDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:14:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/502dee70-22d9-4f67-b37d-0f66e53bc514 HTTP/1.1","status": "200","body_bytes_sent":"847","request_time":"0.366","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"958cf35ed553151772489a930166cc2b"} device_1 | {"level":"info","message":"PATCH /devices/502dee70-22d9-4f67-b37d-0f66e53bc514 200 360ms","method":"PATCH","requestID":"958cf35ed553151772489a930166cc2b","responseTime":360,"status":200,"url":"/devices/502dee70-22d9-4f67-b37d-0f66e53bc514"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OX0.P-DdWT_2XPqXPkrSTuA_EW3n9AfafszCAJ9FxKysud8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"a26759ba99d0548ae0972ac85f3c0b15","responseTime":6,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:59Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.184433,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:59Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398099,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OX0.P-DdWT_2XPqXPkrSTuA_EW3n9AfafszCAJ9FxKysud8"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a26759ba99d0548ae0972ac85f3c0b15"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:14:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.351","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"ad1b9b6c9364653bdef47ae29057e9a3"} device_1 | {"level":"info","message":"POST /devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b/websocket 200 345ms","method":"POST","requestID":"ad1b9b6c9364653bdef47ae29057e9a3","responseTime":345,"status":200,"url":"/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:14:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/502dee70-22d9-4f67-b37d-0f66e53bc514/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.344","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"a26759ba99d0548ae0972ac85f3c0b15"} device_1 | {"level":"info","message":"POST /devices/502dee70-22d9-4f67-b37d-0f66e53bc514/websocket 200 338ms","method":"POST","requestID":"a26759ba99d0548ae0972ac85f3c0b15","responseTime":338,"status":200,"url":"/devices/502dee70-22d9-4f67-b37d-0f66e53bc514/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OX0.P-DdWT_2XPqXPkrSTuA_EW3n9AfafszCAJ9FxKysud8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ae5b8b55fb1974bb118b0435693a9aa2","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:59Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.184565,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398099,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OX0.P-DdWT_2XPqXPkrSTuA_EW3n9AfafszCAJ9FxKysud8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae5b8b55fb1974bb118b0435693a9aa2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F033c6b71-4ecd-4233-ad89-3b72f03bfd4b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F033c6b71-4ecd-4233-ad89-3b72f03bfd4b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:57.673716482Z"}]},"request_id":"806346f7-eed7-4706-8a23-14e035ecc487","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398099.6807225} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"ae5b8b55fb1974bb118b0435693a9aa2"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:14:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ae5b8b55fb1974bb118b0435693a9aa2"} device_1 | {"level":"info","message":"GET /devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b? 200 16ms","method":"GET","requestID":"ae5b8b55fb1974bb118b0435693a9aa2","responseTime":16,"status":200,"url":"/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OX0.P-DdWT_2XPqXPkrSTuA_EW3n9AfafszCAJ9FxKysud8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"41684e6c0b65ee5381a37ae3c6cce4d9","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:59Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.148623,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:59Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398099,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OX0.P-DdWT_2XPqXPkrSTuA_EW3n9AfafszCAJ9FxKysud8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41684e6c0b65ee5381a37ae3c6cce4d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F502dee70-22d9-4f67-b37d-0f66e53bc514","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F502dee70-22d9-4f67-b37d-0f66e53bc514","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:58.183999172Z"}]},"request_id":"2bcde6d2-0f53-4de2-92f2-75a427d642dc","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398099.7021112} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"41684e6c0b65ee5381a37ae3c6cce4d9"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:14:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/502dee70-22d9-4f67-b37d-0f66e53bc514? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"41684e6c0b65ee5381a37ae3c6cce4d9"} device_1 | {"level":"info","message":"GET /devices/502dee70-22d9-4f67-b37d-0f66e53bc514? 200 16ms","method":"GET","requestID":"41684e6c0b65ee5381a37ae3c6cce4d9","responseTime":16,"status":200,"url":"/devices/502dee70-22d9-4f67-b37d-0f66e53bc514?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OX0.P-DdWT_2XPqXPkrSTuA_EW3n9AfafszCAJ9FxKysud8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"beb522325d44bee28ed8c1f794bc44a1","responseTime":2,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:14:59Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.696874,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:14:59Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398099,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OX0.P-DdWT_2XPqXPkrSTuA_EW3n9AfafszCAJ9FxKysud8"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"beb522325d44bee28ed8c1f794bc44a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:00Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.844046,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398099,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OX0.P-DdWT_2XPqXPkrSTuA_EW3n9AfafszCAJ9FxKysud8"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fee1cf0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:48254","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48254","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.028929,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398099,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OX0.P-DdWT_2XPqXPkrSTuA_EW3n9AfafszCAJ9FxKysud8"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fee6b10-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F033c6b71-4ecd-4233-ad89-3b72f03bfd4b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F033c6b71-4ecd-4233-ad89-3b72f03bfd4b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:57.673716482Z"}]},"request_id":"3d28958e-6a0c-4c11-9d85-7658a6b410e2","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398100.0458744} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fee1cf0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F502dee70-22d9-4f67-b37d-0f66e53bc514","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F502dee70-22d9-4f67-b37d-0f66e53bc514","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:58.183999172Z"}]},"request_id":"fa92ede0-14e2-43fe-b5a7-30e131034f7d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398100.0463758} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0fee6b10-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/502dee70-22d9-4f67-b37d-0f66e53bc514? 200 19ms","method":"GET","requestID":"0fee6b10-c684-11ee-9765-47e7fd15fc3d","responseTime":19,"status":200,"url":"/devices/502dee70-22d9-4f67-b37d-0f66e53bc514?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b? 200 22ms","method":"GET","requestID":"0fee1cf0-c684-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:00Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.055114,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:00Z"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398099,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OX0.P-DdWT_2XPqXPkrSTuA_EW3n9AfafszCAJ9FxKysud8"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"103b0470-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authorization_1 | {"client_addr":"127.0.0.1:48254","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:00Z"} authorization_1 | {"client_addr":"127.0.0.1:48254","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.274821,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398099,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OX0.P-DdWT_2XPqXPkrSTuA_EW3n9AfafszCAJ9FxKysud8"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"103b2b80-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F033c6b71-4ecd-4233-ad89-3b72f03bfd4b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F033c6b71-4ecd-4233-ad89-3b72f03bfd4b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:57.673716482Z"}]},"request_id":"c649d57e-c1a2-413c-92df-68b093ab595e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398100.5490472} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"103b0470-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F502dee70-22d9-4f67-b37d-0f66e53bc514","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F502dee70-22d9-4f67-b37d-0f66e53bc514","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:58.183999172Z"}]},"request_id":"e1102ab5-169e-420f-99de-8ef42d6e9ede","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398100.5499687} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"103b2b80-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/502dee70-22d9-4f67-b37d-0f66e53bc514? 200 18ms","method":"GET","requestID":"103b2b80-c684-11ee-9765-47e7fd15fc3d","responseTime":18,"status":200,"url":"/devices/502dee70-22d9-4f67-b37d-0f66e53bc514?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b? 200 20ms","method":"GET","requestID":"103b0470-c684-11ee-9765-47e7fd15fc3d","responseTime":20,"status":200,"url":"/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:00Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.796907,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:00Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"103e86e0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b/signaling 200 6ms","method":"POST","requestID":"103e86e0-c684-11ee-9765-47e7fd15fc3d","responseTime":6,"status":200,"url":"/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:00Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.719776,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:00Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"103fe670-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/502dee70-22d9-4f67-b37d-0f66e53bc514/signaling 200 8ms","method":"POST","requestID":"103fe670-c684-11ee-9765-47e7fd15fc3d","responseTime":8,"status":200,"url":"/devices/502dee70-22d9-4f67-b37d-0f66e53bc514/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}]},"role":"device1","serviceId":"electrical","uuid":"325064a0-97fc-43a5-adba-f438b72c40e5"},{"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":"268c2bf6-a312-4192-a4d1-bae1e3a619fb"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a0129e5c-e489-49b9-acf2-91d67248d42b"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514"},{"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/033c6b71-4ecd-4233-ad89-3b72f03bfd4b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:00Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.014909,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:00Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398099,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODA5OX0.P-DdWT_2XPqXPkrSTuA_EW3n9AfafszCAJ9FxKysud8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10419420-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F097fec51-8180-45de-b11e-b1d8f6d3bc4f#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F097fec51-8180-45de-b11e-b1d8f6d3bc4f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"9268fe6f-7f00-42ce-b777-49f6cc2b2f4d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398100.7338789} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"327430ed-73af-4745-8452-2ffae3830fc7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398100.7346022} authorization_1 | {"level":"info","message":"POST /relations/update 200 192ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"beb522325d44bee28ed8c1f794bc44a1"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":192}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"6662c6d8-5fa9-4bfd-bcff-cd2089e75143","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398100.7365766} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"198ce744-48c1-4054-b530-f5f4bdaf469e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398100.737091} authorization_1 | {"level":"info","message":"POST /relations/update 200 152ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10419420-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":152}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1032ms","method":"POST","requestID":"beb522325d44bee28ed8c1f794bc44a1","responseTime":1032,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:15:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"1.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"beb522325d44bee28ed8c1f794bc44a1"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMH0.QoYhoYprIqL39K1PrhdDGbt1sgkhxQdsfRGrFqkRik4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"86f9bb59c0512a6a9059387488a215cc","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:00Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.01236,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398100,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMH0.QoYhoYprIqL39K1PrhdDGbt1sgkhxQdsfRGrFqkRik4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86f9bb59c0512a6a9059387488a215cc"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F033c6b71-4ecd-4233-ad89-3b72f03bfd4b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F033c6b71-4ecd-4233-ad89-3b72f03bfd4b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:57.673716482Z"}]},"request_id":"19575858-4131-42ad-b67f-aa5e974fb4ee","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398100.7616398} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"86f9bb59c0512a6a9059387488a215cc"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 333ms","method":"POST","requestID":"10419420-c684-11ee-9765-47e7fd15fc3d","responseTime":333,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:15:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.165","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"86f9bb59c0512a6a9059387488a215cc"} device_1 | {"level":"info","message":"GET /devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b? 200 162ms","method":"GET","requestID":"86f9bb59c0512a6a9059387488a215cc","responseTime":162,"status":200,"url":"/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMH0.QoYhoYprIqL39K1PrhdDGbt1sgkhxQdsfRGrFqkRik4","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c07c6e79f546e77e3d3acb5eb21beb37","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:00Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.168432,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:00Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398100,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMH0.QoYhoYprIqL39K1PrhdDGbt1sgkhxQdsfRGrFqkRik4"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c07c6e79f546e77e3d3acb5eb21beb37"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F502dee70-22d9-4f67-b37d-0f66e53bc514","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F502dee70-22d9-4f67-b37d-0f66e53bc514","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:14:58.183999172Z"}]},"request_id":"45c26771-9307-4143-8004-2344916820b6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398100.9322205} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c07c6e79f546e77e3d3acb5eb21beb37"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:15:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/502dee70-22d9-4f67-b37d-0f66e53bc514? HTTP/1.1","status": "200","body_bytes_sent":"846","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c07c6e79f546e77e3d3acb5eb21beb37"} device_1 | {"level":"info","message":"GET /devices/502dee70-22d9-4f67-b37d-0f66e53bc514? 200 16ms","method":"GET","requestID":"c07c6e79f546e77e3d3acb5eb21beb37","responseTime":16,"status":200,"url":"/devices/502dee70-22d9-4f67-b37d-0f66e53bc514?"} device_1 | {"data":{"peerconnection":"85385ccd-c2a4-4bd1-85cb-f73359d74d51","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"data":{"peerconnection":"85385ccd-c2a4-4bd1-85cb-f73359d74d51","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"85385ccd-c2a4-4bd1-85cb-f73359d74d51","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c8525755b9aea122608be1b448a3ad55","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/502dee70-22d9-4f67-b37d-0f66e53bc514"},{"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/033c6b71-4ecd-4233-ad89-3b72f03bfd4b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51"}}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMX0.TuTBlBIUVnYd-crt-0JCv-ry1mHEiODsDElmBJcxyhk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"365faad756b7236a161a009f880eb0b4","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.332359,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398101,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMX0.TuTBlBIUVnYd-crt-0JCv-ry1mHEiODsDElmBJcxyhk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"365faad756b7236a161a009f880eb0b4"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 206ms","method":"POST","requestID":"c8525755b9aea122608be1b448a3ad55","responseTime":206,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:15: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.208","http_referrer":"","http_user_agent":"node-fetch","requestID":"c8525755b9aea122608be1b448a3ad55"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} experiment_1 | {"level":"info","message":"GET /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f 200 66ms","method":"GET","requestID":"365faad756b7236a161a009f880eb0b4","responseTime":66,"status":200,"url":"/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} gateway_1 | {"time_local":"08/Feb/2024:13:15:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.072","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"365faad756b7236a161a009f880eb0b4"} device_1 | {"data":{"peerconnection":"85385ccd-c2a4-4bd1-85cb-f73359d74d51","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMX0.TuTBlBIUVnYd-crt-0JCv-ry1mHEiODsDElmBJcxyhk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a500958781bbab3912422a884910cd4c","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.803118,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398101,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMX0.TuTBlBIUVnYd-crt-0JCv-ry1mHEiODsDElmBJcxyhk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a500958781bbab3912422a884910cd4c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"},"level":"info","message":"Successfully created peerconnections for experiment"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} gateway_1 | {"time_local":"08/Feb/2024:13:15:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.131","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a500958781bbab3912422a884910cd4c"} experiment_1 | {"level":"info","message":"GET /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f 200 125ms","method":"GET","requestID":"a500958781bbab3912422a884910cd4c","responseTime":125,"status":200,"url":"/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} device_1 | {"data":{"peerconnection":"85385ccd-c2a4-4bd1-85cb-f73359d74d51","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMX0.TuTBlBIUVnYd-crt-0JCv-ry1mHEiODsDElmBJcxyhk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"89294e4912ba11f74ee94872debae636","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.675198,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398101,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMX0.TuTBlBIUVnYd-crt-0JCv-ry1mHEiODsDElmBJcxyhk"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"89294e4912ba11f74ee94872debae636"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} experiment_1 | {"level":"info","message":"GET /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f 200 16ms","method":"GET","requestID":"89294e4912ba11f74ee94872debae636","responseTime":16,"status":200,"url":"/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} gateway_1 | {"time_local":"08/Feb/2024:13:15:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"89294e4912ba11f74ee94872debae636"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"85385ccd-c2a4-4bd1-85cb-f73359d74d51","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"775a12113ed01a6407f226fcf5ff4cf5","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/502dee70-22d9-4f67-b37d-0f66e53bc514"},{"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/033c6b71-4ecd-4233-ad89-3b72f03bfd4b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F85385ccd-c2a4-4bd1-85cb-f73359d74d51","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ba8c3357-f12b-4313-86fb-158d94e7c07b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398101.6142056} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.068761,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"10debe80-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMX0.TuTBlBIUVnYd-crt-0JCv-ry1mHEiODsDElmBJcxyhk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"cecc88faea4cdde4f5eec4e25ef67881","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.198571,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398101,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMX0.TuTBlBIUVnYd-crt-0JCv-ry1mHEiODsDElmBJcxyhk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cecc88faea4cdde4f5eec4e25ef67881"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} gateway_1 | {"time_local":"08/Feb/2024:13:15:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cecc88faea4cdde4f5eec4e25ef67881"} experiment_1 | {"level":"info","message":"GET /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f 200 16ms","method":"GET","requestID":"cecc88faea4cdde4f5eec4e25ef67881","responseTime":16,"status":200,"url":"/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMX0.TuTBlBIUVnYd-crt-0JCv-ry1mHEiODsDElmBJcxyhk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"9cf525478ac98b0ce34f9166e80bb4a2","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.233128,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398101,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMX0.TuTBlBIUVnYd-crt-0JCv-ry1mHEiODsDElmBJcxyhk"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"9cf525478ac98b0ce34f9166e80bb4a2"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"GET /peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51 200 156ms","method":"GET","requestID":"10debe80-c684-11ee-9765-47e7fd15fc3d","responseTime":156,"status":200,"url":"/peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} gateway_1 | {"time_local":"08/Feb/2024:13:15:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f HTTP/1.1","status": "200","body_bytes_sent":"1290","request_time":"0.029","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9cf525478ac98b0ce34f9166e80bb4a2"} experiment_1 | {"level":"info","message":"GET /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f 200 23ms","method":"GET","requestID":"9cf525478ac98b0ce34f9166e80bb4a2","responseTime":23,"status":200,"url":"/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMX0.TuTBlBIUVnYd-crt-0JCv-ry1mHEiODsDElmBJcxyhk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0ddcd8faa8553f3a9364613a44a5a1af","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.695387,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398101,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMX0.TuTBlBIUVnYd-crt-0JCv-ry1mHEiODsDElmBJcxyhk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0ddcd8faa8553f3a9364613a44a5a1af"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 337ms","method":"POST","requestID":"775a12113ed01a6407f226fcf5ff4cf5","responseTime":337,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:15: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.342","http_referrer":"","http_user_agent":"node-fetch","requestID":"775a12113ed01a6407f226fcf5ff4cf5"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} gateway_1 | {"time_local":"08/Feb/2024:13:15:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.064","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0ddcd8faa8553f3a9364613a44a5a1af"} experiment_1 | {"level":"info","message":"GET /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f 200 57ms","method":"GET","requestID":"0ddcd8faa8553f3a9364613a44a5a1af","responseTime":57,"status":200,"url":"/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMX0.TuTBlBIUVnYd-crt-0JCv-ry1mHEiODsDElmBJcxyhk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"970059739be8d847943e4757089233de","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.092459,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398101,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMX0.TuTBlBIUVnYd-crt-0JCv-ry1mHEiODsDElmBJcxyhk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"970059739be8d847943e4757089233de"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.322298,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:01Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398101,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwMX0.TuTBlBIUVnYd-crt-0JCv-ry1mHEiODsDElmBJcxyhk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1115ad00-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"85385ccd-c2a4-4bd1-85cb-f73359d74d51","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b750042e3bb4aef9679b40f5f784ec82","responseTime":2,"status":200,"url":"/auth"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F85385ccd-c2a4-4bd1-85cb-f73359d74d51': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F85385ccd-c2a4-4bd1-85cb-f73359d74d51","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"92ed31ae-5a53-43ec-bdf3-09e71e8b2749","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398101.9908955} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514"},{"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/033c6b71-4ecd-4233-ad89-3b72f03bfd4b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51"}}},"level":"info","message":"received a callback"} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aef6355c-44b5-4990-831c-ef99ff8d2855","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398101.9913428} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6181edafb37df4cf029d5a638f0e17e9","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1115ad00-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"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/502dee70-22d9-4f67-b37d-0f66e53bc514"},{"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/033c6b71-4ecd-4233-ad89-3b72f03bfd4b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"85385ccd-c2a4-4bd1-85cb-f73359d74d51","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51 204 321ms","method":"DELETE","requestID":"1115ad00-c684-11ee-9765-47e7fd15fc3d","responseTime":321,"status":204,"url":"/peerconnections/85385ccd-c2a4-4bd1-85cb-f73359d74d51"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F097fec51-8180-45de-b11e-b1d8f6d3bc4f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F097fec51-8180-45de-b11e-b1d8f6d3bc4f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"5237b645-71cd-4abc-911f-11da07c52aff","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398102.6267166} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3a671e4d-e78d-4fa1-ae68-98575c57dbf7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398102.6270974} authorization_1 | {"level":"info","message":"POST /relations/update 200 163ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"970059739be8d847943e4757089233de"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":163}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} gateway_1 | {"time_local":"08/Feb/2024:13:15:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"2.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"970059739be8d847943e4757089233de"} gateway_1 | {"time_local":"08/Feb/2024:13:15:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1722","request_time":"4.682","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"8ae11efc3a8e33c3b7b698413bfab422"} gateway_1 | {"time_local":"08/Feb/2024:13:15:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1724","request_time":"4.851","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.9.3","requestID":"22a1578daf750499b5d334a7c30c7fef"} experiment_1 | {"level":"info","message":"DELETE /experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f 204 2084ms","method":"DELETE","requestID":"970059739be8d847943e4757089233de","responseTime":2084,"status":204,"url":"/experiments/097fec51-8180-45de-b11e-b1d8f6d3bc4f"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 2051ms","method":"POST","requestID":"b750042e3bb4aef9679b40f5f784ec82","responseTime":2051,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:15: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":"2.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"b750042e3bb4aef9679b40f5f784ec82"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 2051ms","method":"POST","requestID":"6181edafb37df4cf029d5a638f0e17e9","responseTime":2051,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:15: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":"2.056","http_referrer":"","http_user_agent":"node-fetch","requestID":"6181edafb37df4cf029d5a638f0e17e9"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwNH0.ON--dXAkpFqR_OLmILo64KR142U1FiaUEz2COMnmoX8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"c680b8f7c5507f6a91eafb34c4ecd89e","responseTime":6,"status":200,"url":"/auth"} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/033c6b71-4ecd-4233-ad89-3b72f03bfd4b' closed"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:04Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.900524,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:04Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398104,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwNH0.ON--dXAkpFqR_OLmILo64KR142U1FiaUEz2COMnmoX8"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c680b8f7c5507f6a91eafb34c4ecd89e"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/502dee70-22d9-4f67-b37d-0f66e53bc514' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bd171152-4e5b-43d4-b4ca-08b4b3e7ccca","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398104.5015664} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c680b8f7c5507f6a91eafb34c4ecd89e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5f1c4352-6531-4fba-91c5-6063e6255560","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398104.5096266} authorization_1 | {"level":"info","message":"POST /relations/update 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c680b8f7c5507f6a91eafb34c4ecd89e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"4f79e8d7-9537-49a5-87e6-458526b474aa","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398104.7084613} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"36cf7624-28eb-4da2-916e-7842fd9d2d0a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398104.7089736} authorization_1 | {"level":"info","message":"POST /relations/update 200 202ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c680b8f7c5507f6a91eafb34c4ecd89e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":202}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:04.708396197Z"}]},"request_id":"864fdc3d-faa4-44ad-8bb0-1a6546269a8e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398104.7164228} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"c680b8f7c5507f6a91eafb34c4ecd89e"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 670ms","method":"POST","requestID":"c680b8f7c5507f6a91eafb34c4ecd89e","responseTime":670,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:15:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.680","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c680b8f7c5507f6a91eafb34c4ecd89e"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwNH0.ON--dXAkpFqR_OLmILo64KR142U1FiaUEz2COMnmoX8","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"0550c88d03f768fabad83f157c020dc3","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:04Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.199437,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:04Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398104,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwNH0.ON--dXAkpFqR_OLmILo64KR142U1FiaUEz2COMnmoX8"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0550c88d03f768fabad83f157c020dc3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F096a59a4-26ce-42e1-90c0-0815e00fcc6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"12e22803-94b9-4e6a-868f-b1b13510c92f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398104.9089506} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0550c88d03f768fabad83f157c020dc3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"014dcbb8-0e90-4d83-9f62-f0f0aaabeb0d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398104.914552} authorization_1 | {"level":"info","message":"POST /relations/update 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0550c88d03f768fabad83f157c020dc3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F096a59a4-26ce-42e1-90c0-0815e00fcc6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"6745143d-a323-4447-b76e-0250a89a0b6f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398105.1014223} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5e3bd0d4-ab6d-4e24-9b86-78b891bfc02c","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398105.1014402} authorization_1 | {"level":"info","message":"POST /relations/update 200 190ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0550c88d03f768fabad83f157c020dc3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":190}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F096a59a4-26ce-42e1-90c0-0815e00fcc6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F096a59a4-26ce-42e1-90c0-0815e00fcc6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:05.101370442Z"}]},"request_id":"09ec0fce-8ecc-489a-bbdf-5defca2e744f","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398105.1089203} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"0550c88d03f768fabad83f157c020dc3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 383ms","method":"POST","requestID":"0550c88d03f768fabad83f157c020dc3","responseTime":383,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:15:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.410","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0550c88d03f768fabad83f157c020dc3"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ff0ee990f6d4d03117de41e5c499c86d","responseTime":2,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} gateway_1 | {"time_local":"08/Feb/2024:13:15:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45/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":"ff0ee990f6d4d03117de41e5c499c86d"} device_1 | {"level":"info","message":"OPTIONS /devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45/websocket 200 1ms","method":"OPTIONS","requestID":"ff0ee990f6d4d03117de41e5c499c86d","responseTime":1,"status":200,"url":"/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45/websocket"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5ee150c85d2d2c38588e1c295481b79c","responseTime":1,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:15:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c/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":"5ee150c85d2d2c38588e1c295481b79c"} device_1 | {"level":"info","message":"OPTIONS /devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c/websocket 200 1ms","method":"OPTIONS","requestID":"5ee150c85d2d2c38588e1c295481b79c","responseTime":1,"status":200,"url":"/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwN30.1W48FchEh2fTGAwHl-4nfBaGnKXU49pxc1UUQ8h_gAg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"b2d80d99cce7e8946211a24f1fb31ce8","responseTime":4,"status":200,"url":"/auth"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwN30.1W48FchEh2fTGAwHl-4nfBaGnKXU49pxc1UUQ8h_gAg","level":"info","message":"auth send jwt"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"d417be57a866a2df5dc3d17ea3266ebf","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:07Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.888569,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:07Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398107,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwN30.1W48FchEh2fTGAwHl-4nfBaGnKXU49pxc1UUQ8h_gAg"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"b2d80d99cce7e8946211a24f1fb31ce8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"client_addr":"127.0.0.1:50250","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:07Z"} authorization_1 | {"client_addr":"127.0.0.1:50250","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.2104,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:07Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398107,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwN30.1W48FchEh2fTGAwHl-4nfBaGnKXU49pxc1UUQ8h_gAg"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"d417be57a866a2df5dc3d17ea3266ebf"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:15:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.169","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b2d80d99cce7e8946211a24f1fb31ce8"} device_1 | {"level":"info","message":"POST /devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45/websocket 200 163ms","method":"POST","requestID":"b2d80d99cce7e8946211a24f1fb31ce8","responseTime":163,"status":200,"url":"/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45/websocket"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:15:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.342","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d417be57a866a2df5dc3d17ea3266ebf"} device_1 | {"level":"info","message":"POST /devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c/websocket 200 336ms","method":"POST","requestID":"d417be57a866a2df5dc3d17ea3266ebf","responseTime":336,"status":200,"url":"/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45' connected"} device_1 | {"level":"info","message":"device 'http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwN30.1W48FchEh2fTGAwHl-4nfBaGnKXU49pxc1UUQ8h_gAg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"79a660c6d316896f36b67eacc61d04de","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:07Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.093926,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398107,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwN30.1W48FchEh2fTGAwHl-4nfBaGnKXU49pxc1UUQ8h_gAg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79a660c6d316896f36b67eacc61d04de"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:04.708396197Z"}]},"request_id":"ec960c3e-a752-44f9-aa87-c0462f5f9f85","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398107.7980218} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"79a660c6d316896f36b67eacc61d04de"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:15:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45? 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":"79a660c6d316896f36b67eacc61d04de"} device_1 | {"level":"info","message":"GET /devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45? 200 17ms","method":"GET","requestID":"79a660c6d316896f36b67eacc61d04de","responseTime":17,"status":200,"url":"/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwN30.1W48FchEh2fTGAwHl-4nfBaGnKXU49pxc1UUQ8h_gAg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1f762e53e4e750f2b836422a90200be8","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:07Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.21312,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:07Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398107,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwN30.1W48FchEh2fTGAwHl-4nfBaGnKXU49pxc1UUQ8h_gAg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1f762e53e4e750f2b836422a90200be8"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F096a59a4-26ce-42e1-90c0-0815e00fcc6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F096a59a4-26ce-42e1-90c0-0815e00fcc6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:05.101370442Z"}]},"request_id":"4d36bd01-3db9-4698-acb8-71013f0e13bc","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398107.8239436} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"1f762e53e4e750f2b836422a90200be8"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:15:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c? 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":"1f762e53e4e750f2b836422a90200be8"} device_1 | {"level":"info","message":"GET /devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c? 200 17ms","method":"GET","requestID":"1f762e53e4e750f2b836422a90200be8","responseTime":17,"status":200,"url":"/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwN30.1W48FchEh2fTGAwHl-4nfBaGnKXU49pxc1UUQ8h_gAg","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"adf166faf622de5bf4ab1f259084bb7f","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:07Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.88628,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:07Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398107,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwN30.1W48FchEh2fTGAwHl-4nfBaGnKXU49pxc1UUQ8h_gAg"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"adf166faf622de5bf4ab1f259084bb7f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:08Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.945646,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398107,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwN30.1W48FchEh2fTGAwHl-4nfBaGnKXU49pxc1UUQ8h_gAg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14c96630-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:50250","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:08Z"} authorization_1 | {"client_addr":"127.0.0.1:50250","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.901127,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398107,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwN30.1W48FchEh2fTGAwHl-4nfBaGnKXU49pxc1UUQ8h_gAg"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14c9b450-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:04.708396197Z"}]},"request_id":"ab89f40d-c283-41fb-9746-84512aee322a","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398108.1920147} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14c96630-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F096a59a4-26ce-42e1-90c0-0815e00fcc6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F096a59a4-26ce-42e1-90c0-0815e00fcc6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:05.101370442Z"}]},"request_id":"5b6cd098-3ed5-402e-99f2-a5967ea00e71","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398108.1934443} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"14c9b450-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45? 200 19ms","method":"GET","requestID":"14c96630-c684-11ee-9765-47e7fd15fc3d","responseTime":19,"status":200,"url":"/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c? 200 18ms","method":"GET","requestID":"14c9b450-c684-11ee-9765-47e7fd15fc3d","responseTime":18,"status":200,"url":"/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"},"level":"info","message":"Attempting to instantiate devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:08Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.19307,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398107,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwN30.1W48FchEh2fTGAwHl-4nfBaGnKXU49pxc1UUQ8h_gAg"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15190cd0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:50250","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:08Z"} authorization_1 | {"client_addr":"127.0.0.1:50250","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.798546,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398107,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwN30.1W48FchEh2fTGAwHl-4nfBaGnKXU49pxc1UUQ8h_gAg"} authorization_1 | {"level":"info","message":"POST /authorize 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15195af0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":9}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:04.708396197Z"}]},"request_id":"a6ca6c8b-a9cd-4d20-bd51-c98ea604dbe3","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398108.716946} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15190cd0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F096a59a4-26ce-42e1-90c0-0815e00fcc6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F096a59a4-26ce-42e1-90c0-0815e00fcc6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:05.101370442Z"}]},"request_id":"8bbeed5c-d7b0-4995-b57c-0224fd2d8f49","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398108.7178075} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"15195af0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45? 200 21ms","method":"GET","requestID":"15190cd0-c684-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c? 200 20ms","method":"GET","requestID":"15195af0-c684-11ee-9765-47e7fd15fc3d","responseTime":20,"status":200,"url":"/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:08Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.760908,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:08Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"151cb650-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45/signaling 200 7ms","method":"POST","requestID":"151cb650-c684-11ee-9765-47e7fd15fc3d","responseTime":7,"status":200,"url":"/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:08Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.743545,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:08Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"151e15e0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c/signaling 200 7ms","method":"POST","requestID":"151e15e0-c684-11ee-9765-47e7fd15fc3d","responseTime":7,"status":200,"url":"/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"f9cd276f-8c63-4676-acd0-963ad57e3184"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"49f35a49-31c4-4139-946e-ef7f4221f86a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d8ad2e35-ff83-4c16-b654-797a2cc39bba"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:08Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.829333,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:08Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398107,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwN30.1W48FchEh2fTGAwHl-4nfBaGnKXU49pxc1UUQ8h_gAg"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"151fc390-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbabea32d-48c1-4663-8e1c-38e6e94d2758#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbabea32d-48c1-4663-8e1c-38e6e94d2758","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"ca06e858-e049-402f-9e42-edbc67b81e75","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398108.908441} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b19e605d-6f0a-4d15-9721-eabdfaab6864","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398108.9087484} authorization_1 | {"level":"info","message":"POST /relations/update 200 201ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"adf166faf622de5bf4ab1f259084bb7f"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":201}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"223cb19b-2c95-4396-9426-2d107e2a6dca","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398108.9108632} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ca5fbf0-c7b0-4c16-88a9-6bd4345ee3ec","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398108.9113164} authorization_1 | {"level":"info","message":"POST /relations/update 200 161ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"151fc390-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":161}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1084ms","method":"POST","requestID":"adf166faf622de5bf4ab1f259084bb7f","responseTime":1084,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:15:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"1.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"adf166faf622de5bf4ab1f259084bb7f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwOH0.drcJBb-RGFVSdrCmoWmr7XGj83l602CDyg_J6NSbLpQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"47ce3af5d2b42fc0b5bb2b95a9cc075c","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:08Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.983194,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:08Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398108,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwOH0.drcJBb-RGFVSdrCmoWmr7XGj83l602CDyg_J6NSbLpQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47ce3af5d2b42fc0b5bb2b95a9cc075c"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8b3da0f1-57f2-4e36-aee9-2d95a60c3f45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:04.708396197Z"}]},"request_id":"ed4211e6-08dc-4105-a752-1c1d802914cc","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398108.9410431} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47ce3af5d2b42fc0b5bb2b95a9cc075c"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 340ms","method":"POST","requestID":"151fc390-c684-11ee-9765-47e7fd15fc3d","responseTime":340,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:15:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.161","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"47ce3af5d2b42fc0b5bb2b95a9cc075c"} device_1 | {"level":"info","message":"GET /devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45? 200 157ms","method":"GET","requestID":"47ce3af5d2b42fc0b5bb2b95a9cc075c","responseTime":157,"status":200,"url":"/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45?"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwOX0.6cM5VYSO-LkLt4XxEj7PTgT2jPpRxZhsT2kjstciLRE","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"af1d7b3cd8f6cff3d76904904d9182ce","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:09Z"} authorization_1 | {"client_addr":"127.0.0.1:43682","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.406059,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:09Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398109,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODEwOX0.6cM5VYSO-LkLt4XxEj7PTgT2jPpRxZhsT2kjstciLRE"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af1d7b3cd8f6cff3d76904904d9182ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F096a59a4-26ce-42e1-90c0-0815e00fcc6c","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F096a59a4-26ce-42e1-90c0-0815e00fcc6c","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:05.101370442Z"}]},"request_id":"e941b357-bd5a-4f71-94f0-3a2e062d50e1","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398109.1048274} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"af1d7b3cd8f6cff3d76904904d9182ce"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:15:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c? 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":"af1d7b3cd8f6cff3d76904904d9182ce"} device_1 | {"level":"info","message":"GET /devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c? 200 13ms","method":"GET","requestID":"af1d7b3cd8f6cff3d76904904d9182ce","responseTime":13,"status":200,"url":"/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/a5eae891-512c-4a57-a1f9-2fe8a4a20029'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/a637e5ba-2dd6-485f-9f73-2b30cf2de0ec'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/60ea7034-668e-4406-9c2e-2c7826f61af5'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/c18d0459-8434-492e-916b-33126232b012'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/b3b3cb33-8787-4586-8d08-65b8b67830a6'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/a8aa9e5b-5a71-4756-92a1-e61d0072a5f9'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/b7539e9e-15c8-41b0-b792-00c9437bc6e6'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/4307b836-83d5-46fa-974f-d47e4bd35dde'"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"6e3cc969-d405-45ea-8e68-0fb1e5127fda","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"36a1b6e7214aa066075c1c2cab87ffb9","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/096a59a4-26ce-42e1-90c0-0815e00fcc6c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"36a1b6e7214aa066075c1c2cab87ffb9","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:15:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"36a1b6e7214aa066075c1c2cab87ffb9"} device_1 | {"data":{"peerconnection":"6e3cc969-d405-45ea-8e68-0fb1e5127fda","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE0OX0.cDKYrZVJeWIjuWqswYPND28KhPeVm6t5DH2Pr881c6o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f38f943295ca2c06323fbe6b53c2b051","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:49Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.554421,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398149,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE0OX0.cDKYrZVJeWIjuWqswYPND28KhPeVm6t5DH2Pr881c6o"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"f38f943295ca2c06323fbe6b53c2b051"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} gateway_1 | {"time_local":"08/Feb/2024:13:15:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f38f943295ca2c06323fbe6b53c2b051"} experiment_1 | {"level":"info","message":"GET /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758 200 16ms","method":"GET","requestID":"f38f943295ca2c06323fbe6b53c2b051","responseTime":16,"status":200,"url":"/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} device_1 | {"data":{"peerconnection":"6e3cc969-d405-45ea-8e68-0fb1e5127fda","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE0OX0.cDKYrZVJeWIjuWqswYPND28KhPeVm6t5DH2Pr881c6o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5705bc80bcfec0edfe15ed5dac242a97","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:49Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":2.102507,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398149,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE0OX0.cDKYrZVJeWIjuWqswYPND28KhPeVm6t5DH2Pr881c6o"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5705bc80bcfec0edfe15ed5dac242a97"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} gateway_1 | {"time_local":"08/Feb/2024:13:15:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5705bc80bcfec0edfe15ed5dac242a97"} experiment_1 | {"level":"info","message":"GET /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758 200 17ms","method":"GET","requestID":"5705bc80bcfec0edfe15ed5dac242a97","responseTime":17,"status":200,"url":"/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"6e3cc969-d405-45ea-8e68-0fb1e5127fda","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2be70a0e433617446969e8b923e4e27f","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/096a59a4-26ce-42e1-90c0-0815e00fcc6c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:49Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6e3cc969-d405-45ea-8e68-0fb1e5127fda","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"39a2e6d4-ea75-474e-9cb9-1b0ec2228c11","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398149.6074755} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.89024,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2d79be00-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE0OX0.cDKYrZVJeWIjuWqswYPND28KhPeVm6t5DH2Pr881c6o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fa9c10a1e912f44047d16412817fadad","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:49Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.326957,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398149,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE0OX0.cDKYrZVJeWIjuWqswYPND28KhPeVm6t5DH2Pr881c6o"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"fa9c10a1e912f44047d16412817fadad"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} experiment_1 | {"level":"info","message":"GET /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758 200 15ms","method":"GET","requestID":"fa9c10a1e912f44047d16412817fadad","responseTime":15,"status":200,"url":"/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} gateway_1 | {"time_local":"08/Feb/2024:13:15:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.021","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fa9c10a1e912f44047d16412817fadad"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE0OX0.cDKYrZVJeWIjuWqswYPND28KhPeVm6t5DH2Pr881c6o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"69546befbd3c6d3bf8d7c791c1d8574f","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} device_1 | {"level":"info","message":"GET /peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda 200 163ms","method":"GET","requestID":"2d79be00-c684-11ee-9765-47e7fd15fc3d","responseTime":163,"status":200,"url":"/peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:49Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.24505,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398149,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE0OX0.cDKYrZVJeWIjuWqswYPND28KhPeVm6t5DH2Pr881c6o"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"69546befbd3c6d3bf8d7c791c1d8574f"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} experiment_1 | {"level":"info","message":"GET /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758 200 20ms","method":"GET","requestID":"69546befbd3c6d3bf8d7c791c1d8574f","responseTime":20,"status":200,"url":"/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} gateway_1 | {"time_local":"08/Feb/2024:13:15:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.026","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"69546befbd3c6d3bf8d7c791c1d8574f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE0OX0.cDKYrZVJeWIjuWqswYPND28KhPeVm6t5DH2Pr881c6o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3304f049d404f9a94d3c460828604f90","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:49Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.250328,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:49Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398149,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE0OX0.cDKYrZVJeWIjuWqswYPND28KhPeVm6t5DH2Pr881c6o"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3304f049d404f9a94d3c460828604f90"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 338ms","method":"POST","requestID":"2be70a0e433617446969e8b923e4e27f","responseTime":338,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:15:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.342","http_referrer":"","http_user_agent":"node-fetch","requestID":"2be70a0e433617446969e8b923e4e27f"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} gateway_1 | {"time_local":"08/Feb/2024:13:15:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3304f049d404f9a94d3c460828604f90"} experiment_1 | {"level":"info","message":"GET /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758 200 47ms","method":"GET","requestID":"3304f049d404f9a94d3c460828604f90","responseTime":47,"status":200,"url":"/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE0OX0.cDKYrZVJeWIjuWqswYPND28KhPeVm6t5DH2Pr881c6o","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"8c14cae3c27b2b146911a52dbd6c255b","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:49Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.113607,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:49Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398149,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE0OX0.cDKYrZVJeWIjuWqswYPND28KhPeVm6t5DH2Pr881c6o"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c14cae3c27b2b146911a52dbd6c255b"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:49Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.170473,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:49Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398149,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE0OX0.cDKYrZVJeWIjuWqswYPND28KhPeVm6t5DH2Pr881c6o"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2db08570-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"6e3cc969-d405-45ea-8e68-0fb1e5127fda","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6e3cc969-d405-45ea-8e68-0fb1e5127fda': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6e3cc969-d405-45ea-8e68-0fb1e5127fda","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"df91f405-16a6-4549-bb08-14dab99ac924","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398149.9780586} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"70adee7b08ab814d15ceb14ed24e4ca3","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:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e28f51f0-1121-48b0-9c64-7f74203324c0","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398149.9784846} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/096a59a4-26ce-42e1-90c0-0815e00fcc6c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b058f1398a8633113692b4f67085ea3f","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2db08570-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":8}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"6e3cc969-d405-45ea-8e68-0fb1e5127fda","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda 204 322ms","method":"DELETE","requestID":"2db08570-c684-11ee-9765-47e7fd15fc3d","responseTime":322,"status":204,"url":"/peerconnections/6e3cc969-d405-45ea-8e68-0fb1e5127fda"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbabea32d-48c1-4663-8e1c-38e6e94d2758': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbabea32d-48c1-4663-8e1c-38e6e94d2758","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"9b1605dd-ed41-4846-a934-55e76526f594","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398150.6263793} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7f330e2c-72e0-4a4e-84eb-bd1c416a16ef","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398150.6267989} authorization_1 | {"level":"info","message":"POST /relations/update 200 163ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"8c14cae3c27b2b146911a52dbd6c255b"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":163}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} gateway_1 | {"time_local":"08/Feb/2024:13:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.647","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8c14cae3c27b2b146911a52dbd6c255b"} experiment_1 | {"level":"info","message":"DELETE /experiments/babea32d-48c1-4663-8e1c-38e6e94d2758 204 1643ms","method":"DELETE","requestID":"8c14cae3c27b2b146911a52dbd6c255b","responseTime":1643,"status":204,"url":"/experiments/babea32d-48c1-4663-8e1c-38e6e94d2758"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1610ms","method":"POST","requestID":"70adee7b08ab814d15ceb14ed24e4ca3","responseTime":1610,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:15: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":"1.614","http_referrer":"","http_user_agent":"node-fetch","requestID":"70adee7b08ab814d15ceb14ed24e4ca3"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1611ms","method":"POST","requestID":"b058f1398a8633113692b4f67085ea3f","responseTime":1611,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:15: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":"1.616","http_referrer":"","http_user_agent":"node-fetch","requestID":"b058f1398a8633113692b4f67085ea3f"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1MX0.1RkESyzQw5XJyUvqMhTbfeL9lTOoqnpBAVhRqGXZzPY","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"08247ad90fef1534583eb146aac2f715","responseTime":6,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1490","request_time":"44.158","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"cd52b951a48e9fdcba637ba1e4d23b14"} gateway_1 | {"time_local":"08/Feb/2024:13:15:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1490","request_time":"44.334","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"45cb2591fb356d61d09c5bdf5824e98d"} device_1 | {"level":"info","message":"postDevices called"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8b3da0f1-57f2-4e36-aee9-2d95a60c3f45' closed"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:51Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.727669,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:51Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398151,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1MX0.1RkESyzQw5XJyUvqMhTbfeL9lTOoqnpBAVhRqGXZzPY"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08247ad90fef1534583eb146aac2f715"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/096a59a4-26ce-42e1-90c0-0815e00fcc6c' 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:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5829fdf2-c110-410b-8760-64608c578d87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a9db4b81-1063-4c26-95ef-5fb4d603db7b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398151.9420383} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08247ad90fef1534583eb146aac2f715"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"66950e1b-804c-454b-998b-4b85f361c557","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398151.9496875} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08247ad90fef1534583eb146aac2f715"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5829fdf2-c110-410b-8760-64608c578d87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"34b5b45b-5a86-4c0c-b42c-12b26f167fd4","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398152.1480618} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a4b0e2eb-b49f-4d38-8bbb-8681d94192be","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398152.1484034} authorization_1 | {"level":"info","message":"POST /relations/update 200 201ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08247ad90fef1534583eb146aac2f715"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":201}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5829fdf2-c110-410b-8760-64608c578d87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5829fdf2-c110-410b-8760-64608c578d87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:52.148026339Z"}]},"request_id":"a5dc2ebd-6e89-45eb-bc55-a81fd61cc4d7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398152.1555097} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"08247ad90fef1534583eb146aac2f715"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 554ms","method":"POST","requestID":"08247ad90fef1534583eb146aac2f715","responseTime":554,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:15:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.568","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"08247ad90fef1534583eb146aac2f715"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1Mn0.lm-eNiD4BVUCVwQbd5MRaIpMOmxWUpbDz2kB82rSnqk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"47b30ee6c099d0451f1e923bb10bb247","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevices called"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:52Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.986738,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:52Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398152,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1Mn0.lm-eNiD4BVUCVwQbd5MRaIpMOmxWUpbDz2kB82rSnqk"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"384","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47b30ee6c099d0451f1e923bb10bb247"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe775eee0-d7ab-441f-a897-604ea1a51faf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"edbf6007-4934-44e5-a44d-6eeea6169e96","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398152.3258584} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47b30ee6c099d0451f1e923bb10bb247"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"56b3d3c9-22d8-405c-824b-d76c25974618","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398152.3329883} authorization_1 | {"level":"info","message":"POST /relations/update 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"22","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47b30ee6c099d0451f1e923bb10bb247"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe775eee0-d7ab-441f-a897-604ea1a51faf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"53f3f4d4-37e7-4567-8a05-dadd90cf6608","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398152.517248} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"039980d6-c8b5-4571-b90c-ada129231b01","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398152.5176072} authorization_1 | {"level":"info","message":"POST /relations/update 200 187ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47b30ee6c099d0451f1e923bb10bb247"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":187}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe775eee0-d7ab-441f-a897-604ea1a51faf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe775eee0-d7ab-441f-a897-604ea1a51faf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:52.517207392Z"}]},"request_id":"ea887e37-fb8b-4523-b78b-19dc56088342","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398152.5242963} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"47b30ee6c099d0451f1e923bb10bb247"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"postDevices succeeded"} device_1 | {"level":"info","message":"POST /devices? 201 359ms","method":"POST","requestID":"47b30ee6c099d0451f1e923bb10bb247","responseTime":359,"status":201,"url":"/devices?"} gateway_1 | {"time_local":"08/Feb/2024:13:15: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.380","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"47b30ee6c099d0451f1e923bb10bb247"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"644dba4cf6e93c3bc82f43bc9a6c5a60","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:15:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e775eee0-d7ab-441f-a897-604ea1a51faf/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":"644dba4cf6e93c3bc82f43bc9a6c5a60"} device_1 | {"level":"info","message":"OPTIONS /devices/e775eee0-d7ab-441f-a897-604ea1a51faf/websocket 200 1ms","method":"OPTIONS","requestID":"644dba4cf6e93c3bc82f43bc9a6c5a60","responseTime":1,"status":200,"url":"/devices/e775eee0-d7ab-441f-a897-604ea1a51faf/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1NH0.AACVTU3MT7JVBiSj5EJaMLuKENOujfFMsaiFRPj4QBQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6de1f2427b21fa43db3c283fca0bc648","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:54Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.2795,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:54Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398154,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1NH0.AACVTU3MT7JVBiSj5EJaMLuKENOujfFMsaiFRPj4QBQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"6de1f2427b21fa43db3c283fca0bc648"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:15:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e775eee0-d7ab-441f-a897-604ea1a51faf/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.225","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6de1f2427b21fa43db3c283fca0bc648"} device_1 | {"level":"info","message":"POST /devices/e775eee0-d7ab-441f-a897-604ea1a51faf/websocket 200 220ms","method":"POST","requestID":"6de1f2427b21fa43db3c283fca0bc648","responseTime":220,"status":200,"url":"/devices/e775eee0-d7ab-441f-a897-604ea1a51faf/websocket"} device_1 | {"level":"info","message":"device 'http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf' connected"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1NH0.AACVTU3MT7JVBiSj5EJaMLuKENOujfFMsaiFRPj4QBQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"a6a1f320b92d75ec9587949b98df5de0","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:54Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.297295,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:54Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398154,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1NH0.AACVTU3MT7JVBiSj5EJaMLuKENOujfFMsaiFRPj4QBQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6a1f320b92d75ec9587949b98df5de0"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe775eee0-d7ab-441f-a897-604ea1a51faf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe775eee0-d7ab-441f-a897-604ea1a51faf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:52.517207392Z"}]},"request_id":"9e16473b-623a-47b6-a39b-9042ba498613","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398154.905462} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"a6a1f320b92d75ec9587949b98df5de0"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:15:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e775eee0-d7ab-441f-a897-604ea1a51faf? 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":"a6a1f320b92d75ec9587949b98df5de0"} device_1 | {"level":"info","message":"GET /devices/e775eee0-d7ab-441f-a897-604ea1a51faf? 200 17ms","method":"GET","requestID":"a6a1f320b92d75ec9587949b98df5de0","responseTime":17,"status":200,"url":"/devices/e775eee0-d7ab-441f-a897-604ea1a51faf?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1NH0.AACVTU3MT7JVBiSj5EJaMLuKENOujfFMsaiFRPj4QBQ","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"705ca3771a0d3e3015a6fe9077ee6e07","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling POST request on endpoint /experiments"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:54Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.160948,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:54Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398154,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1NH0.AACVTU3MT7JVBiSj5EJaMLuKENOujfFMsaiFRPj4QBQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"388","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"705ca3771a0d3e3015a6fe9077ee6e07"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076"},"level":"info","message":"Attempting to run experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076"},"level":"info","message":"Attempting to book experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076"},"level":"info","message":"Successfully booked experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:55Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.292721,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5829fdf2-c110-410b-8760-64608c578d87","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/5829fdf2-c110-410b-8760-64608c578d87","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398154,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1NH0.AACVTU3MT7JVBiSj5EJaMLuKENOujfFMsaiFRPj4QBQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30d963c0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"client_addr":"127.0.0.1:55494","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:55Z"} authorization_1 | {"client_addr":"127.0.0.1:55494","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.407251,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:55Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398154,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1NH0.AACVTU3MT7JVBiSj5EJaMLuKENOujfFMsaiFRPj4QBQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 10ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30d9b1e0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":10}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5829fdf2-c110-410b-8760-64608c578d87","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5829fdf2-c110-410b-8760-64608c578d87","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:52.148026339Z"}]},"request_id":"4f8baefb-28ea-4cba-9210-b6ea55fbc8d1","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398155.272452} authorization_1 | {"level":"info","message":"POST /relations/query 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30d963c0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe775eee0-d7ab-441f-a897-604ea1a51faf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe775eee0-d7ab-441f-a897-604ea1a51faf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:52.517207392Z"}]},"request_id":"e7b8aa17-94f2-49b3-ac08-c5fd95607af8","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398155.2777197} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/5829fdf2-c110-410b-8760-64608c578d87? 200 18ms","method":"GET","requestID":"30d963c0-c684-11ee-9765-47e7fd15fc3d","responseTime":18,"status":200,"url":"/devices/5829fdf2-c110-410b-8760-64608c578d87?"} authorization_1 | {"level":"info","message":"POST /relations/query 200 2ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30d9b1e0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":2}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e775eee0-d7ab-441f-a897-604ea1a51faf? 200 19ms","method":"GET","requestID":"30d9b1e0-c684-11ee-9765-47e7fd15fc3d","responseTime":19,"status":200,"url":"/devices/e775eee0-d7ab-441f-a897-604ea1a51faf?"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076"},"level":"info","message":"Setting up experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076"},"level":"info","message":"Attempting to lock booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076"},"level":"info","message":"Successfully locked booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076"},"level":"info","message":"Attempting to instantiate devices for experiment"} device_1 | {"level":"info","message":"postDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:55Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.261903,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:55Z"} authorization_1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/5829fdf2-c110-410b-8760-64608c578d87","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/5829fdf2-c110-410b-8760-64608c578d87","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398154,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1NH0.AACVTU3MT7JVBiSj5EJaMLuKENOujfFMsaiFRPj4QBQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"451","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30f6d6d0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff264fc56-f1a0-42f8-b85b-c960d0e9a257","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"892bcb92-864c-4259-8047-9780e56f5f26","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398155.7968194} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e7cda0b3-7789-4970-ad07-9ae863f9de6b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398155.796928} authorization_1 | {"level":"info","message":"POST /relations/update 200 172ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"199","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"30f6d6d0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":172}} device_1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postDevicesByDeviceId succeeded"} authentication_1 | {"level":"info","message":"POST /token 201 169ms","method":"POST","requestID":"312d2910-c684-11ee-b6ea-a58fb725a8ca","responseTime":169,"status":201,"url":"/token"} device_1 | {"level":"info","message":"POST /devices/5829fdf2-c110-410b-8760-64608c578d87?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 532ms","method":"POST","requestID":"30f6d6d0-c684-11ee-9765-47e7fd15fc3d","responseTime":532,"status":201,"url":"/devices/5829fdf2-c110-410b-8760-64608c578d87?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076"},"level":"info","message":"Successfully instantiated devices for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076"},"level":"info","message":"Attempting to update booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076"},"level":"info","message":"Successfully updated booking for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076"},"level":"info","message":"Successfully set up experiment"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076"},"level":"info","message":"Successfully running experiment"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:56Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.191001,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:56Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398154,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1NH0.AACVTU3MT7JVBiSj5EJaMLuKENOujfFMsaiFRPj4QBQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3192c8b0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:55494","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:56Z"} authorization_1 | {"client_addr":"127.0.0.1:55494","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.689546,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:56Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398154,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1NH0.AACVTU3MT7JVBiSj5EJaMLuKENOujfFMsaiFRPj4QBQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"319316d0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff264fc56-f1a0-42f8-b85b-c960d0e9a257","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff264fc56-f1a0-42f8-b85b-c960d0e9a257","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:55.796776102Z"}]},"request_id":"900c4388-74b0-46c0-9356-6472a10c2a72","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398156.4892545} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3192c8b0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe775eee0-d7ab-441f-a897-604ea1a51faf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe775eee0-d7ab-441f-a897-604ea1a51faf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:52.517207392Z"}]},"request_id":"76ea2747-9718-49c6-bcbc-3208718b4888","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398156.4912004} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"319316d0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257? 200 22ms","method":"GET","requestID":"3192c8b0-c684-11ee-9765-47e7fd15fc3d","responseTime":22,"status":200,"url":"/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e775eee0-d7ab-441f-a897-604ea1a51faf? 200 20ms","method":"GET","requestID":"319316d0-c684-11ee-9765-47e7fd15fc3d","responseTime":20,"status":200,"url":"/devices/e775eee0-d7ab-441f-a897-604ea1a51faf?"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F25819043-c637-48c3-9d69-3b48f021b076#owner@http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F25819043-c637-48c3-9d69-3b48f021b076","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"da405096-f6ff-411d-9da9-abe78e76f221","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398156.6747446} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dbb1b56b-2261-472d-b13d-9051138d877e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398156.6753018} authorization_1 | {"level":"info","message":"POST /relations/update 200 193ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"705ca3771a0d3e3015a6fe9077ee6e07"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":193}} experiment_1 | {"data":{"experiment":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076","user":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"level":"info","message":"Successfully handled POST request on endpoint /experiments"} experiment_1 | {"level":"info","message":"POST /experiments? 201 1769ms","method":"POST","requestID":"705ca3771a0d3e3015a6fe9077ee6e07","responseTime":1769,"status":201,"url":"/experiments?"} gateway_1 | {"time_local":"08/Feb/2024:13:15:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"1.790","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"705ca3771a0d3e3015a6fe9077ee6e07"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f5c0e0570acc344e8599d6a054c15eb9","responseTime":2,"status":200,"url":"/auth"} gateway_1 | {"time_local":"08/Feb/2024:13:15:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257/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":"f5c0e0570acc344e8599d6a054c15eb9"} device_1 | {"level":"info","message":"OPTIONS /devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257/websocket 200 1ms","method":"OPTIONS","requestID":"f5c0e0570acc344e8599d6a054c15eb9","responseTime":1,"status":200,"url":"/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257/websocket"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6IlhwaEVJLVhHV1JQX2luY1NFMG9ieFVyV1UwRm00REFIaVBKUDhlNThBSi1wclNQWWRvb0VyNTZtLWhlZDV3TldsNFcwUEZWTzU1clFVeUhFMWZxV1h3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1OH0.0zfDA5L4m_EXrp8Zgt9pvn5XWx69TbrysJ9aCWj0Ixk","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"eaa8b0bef2ec1dabf1e6db76093f2787","responseTime":5,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:58Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.056794,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:58Z"} authorization_1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257","object_type":"device","payload":{"admin":true,"edgeToken":"XphEI-XGWRP_incSE0obxUrWU0Fm4DAHiPJP8e58AJ-prSPYdooEr56m-hed5wNWl4W0PFVO55rQUyHE1fqWXw","iat":1707398158,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6IlhwaEVJLVhHV1JQX2luY1NFMG9ieFVyV1UwRm00REFIaVBKUDhlNThBSi1wclNQWWRvb0VyNTZtLWhlZDV3TldsNFcwUEZWTzU1clFVeUhFMWZxV1h3IiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1OH0.0zfDA5L4m_EXrp8Zgt9pvn5XWx69TbrysJ9aCWj0Ixk"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"eaa8b0bef2ec1dabf1e6db76093f2787"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:15:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.164","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"eaa8b0bef2ec1dabf1e6db76093f2787"} device_1 | {"level":"info","message":"POST /devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257/websocket 200 158ms","method":"POST","requestID":"eaa8b0bef2ec1dabf1e6db76093f2787","responseTime":158,"status":200,"url":"/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257/websocket"} device_1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"device 'http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257' connected"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8e9669739163bc7900378e54ba77580f","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/f264fc56-f1a0-42f8-b85b-c960d0e9a257"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1OH0.HaiL92OOpO1_CyKv37thmzO63Md2Tq4Hga1bI03uD1s","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2b45410c413ac007c8b00cb665bcb248","responseTime":4,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:58Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.798588,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398158,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1OH0.HaiL92OOpO1_CyKv37thmzO63Md2Tq4Hga1bI03uD1s"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b45410c413ac007c8b00cb665bcb248"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff264fc56-f1a0-42f8-b85b-c960d0e9a257","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff264fc56-f1a0-42f8-b85b-c960d0e9a257","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:55.796776102Z"}]},"request_id":"2d172148-6976-45a4-b6d6-f83f2a8e502d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398158.9774487} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"2b45410c413ac007c8b00cb665bcb248"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 16ms","method":"POST","requestID":"8e9669739163bc7900378e54ba77580f","responseTime":16,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:15:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch","requestID":"8e9669739163bc7900378e54ba77580f"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} gateway_1 | {"time_local":"08/Feb/2024:13:15:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257? 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":"2b45410c413ac007c8b00cb665bcb248"} device_1 | {"level":"info","message":"GET /devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257? 200 16ms","method":"GET","requestID":"2b45410c413ac007c8b00cb665bcb248","responseTime":16,"status":200,"url":"/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257?"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1OH0.HaiL92OOpO1_CyKv37thmzO63Md2Tq4Hga1bI03uD1s","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5859f323266bc5a06aeacb11d308f6c3","responseTime":3,"status":200,"url":"/auth"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:15:58Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.891746,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:15:58Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398158,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1OH0.HaiL92OOpO1_CyKv37thmzO63Md2Tq4Hga1bI03uD1s"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5859f323266bc5a06aeacb11d308f6c3"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe775eee0-d7ab-441f-a897-604ea1a51faf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe775eee0-d7ab-441f-a897-604ea1a51faf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:52.517207392Z"}]},"request_id":"1835bb51-7e6e-4954-8490-307dc443dce6","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398158.9983697} authorization_1 | {"level":"info","message":"POST /relations/query 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"5859f323266bc5a06aeacb11d308f6c3"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e775eee0-d7ab-441f-a897-604ea1a51faf? 200 14ms","method":"GET","requestID":"5859f323266bc5a06aeacb11d308f6c3","responseTime":14,"status":200,"url":"/devices/e775eee0-d7ab-441f-a897-604ea1a51faf?"} gateway_1 | {"time_local":"08/Feb/2024:13:15:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e775eee0-d7ab-441f-a897-604ea1a51faf? 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":"5859f323266bc5a06aeacb11d308f6c3"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} device_1 | {"level":"info","message":"getDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:16:01Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.79074,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:16:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398154,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1NH0.AACVTU3MT7JVBiSj5EJaMLuKENOujfFMsaiFRPj4QBQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3491b0d0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authorization_1 | {"client_addr":"127.0.0.1:46312","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:16:01Z"} authorization_1 | {"client_addr":"127.0.0.1:46312","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.285354,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:16:01Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398154,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1NH0.AACVTU3MT7JVBiSj5EJaMLuKENOujfFMsaiFRPj4QBQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 8ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"444","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3491fef0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":8}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff264fc56-f1a0-42f8-b85b-c960d0e9a257","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff264fc56-f1a0-42f8-b85b-c960d0e9a257","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:55.796776102Z"}]},"request_id":"e5711493-8030-413c-aa5c-f83256fb0c44","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398161.5164878} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3491b0d0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"continuation_token":"","page_size":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe775eee0-d7ab-441f-a897-604ea1a51faf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe775eee0-d7ab-441f-a897-604ea1a51faf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"timestamp":"2024-02-08T13:15:52.517207392Z"}]},"request_id":"f0b7a304-dd41-4536-b641-b180c72b9efb","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398161.5169954} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} authorization_1 | {"level":"info","message":"POST /relations/query 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"81","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"3491fef0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/query","query":{},"url":"/relations/query"},"res":{"statusCode":200},"responseTime":3}} device_1 | {"level":"info","message":"GET /devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257? 200 19ms","method":"GET","requestID":"3491b0d0-c684-11ee-9765-47e7fd15fc3d","responseTime":19,"status":200,"url":"/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257?"} device_1 | {"level":"info","message":"getDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"GET /devices/e775eee0-d7ab-441f-a897-604ea1a51faf? 200 21ms","method":"GET","requestID":"3491fef0-c684-11ee-9765-47e7fd15fc3d","responseTime":21,"status":200,"url":"/devices/e775eee0-d7ab-441f-a897-604ea1a51faf?"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:16:01Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.899962,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:16:01Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"34958160-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257/signaling 200 9ms","method":"POST","requestID":"34958160-c684-11ee-9765-47e7fd15fc3d","responseTime":9,"status":200,"url":"/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257/signaling"} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:16:01Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":308,"resp_duration":0.886673,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:16:01Z"} authorization_1 | {"action":"signal","level":"info","message":"opa_check","object":"device:http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf","object_type":"device","rebac_allow":false,"scope_allow":false,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"132","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"34975620-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded"} device_1 | {"level":"info","message":"POST /devices/e775eee0-d7ab-441f-a897-604ea1a51faf/signaling 200 9ms","method":"POST","requestID":"34975620-c684-11ee-9765-47e7fd15fc3d","responseTime":9,"status":200,"url":"/devices/e775eee0-d7ab-441f-a897-604ea1a51faf/signaling"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076"},"level":"info","message":"Attempting to create peerconnections for experiment"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076"},"level":"info","message":"Building connection plan"} experiment_1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"f40939e7-9faa-4076-897d-8ae6cda63840"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"e9c0c807-01c6-4679-816e-fe8680018540"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"7eab5e62-6279-41dc-ba41-637baf5e4669"}]},"level":"info","message":"Built pairwise service configurations"} experiment_1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan"} device_1 | {"level":"info","message":"postPeerconnections called"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:16:01Z"} authorization_1 | {"client_addr":"127.0.0.1:55488","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.870457,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:16:01Z"} authorization_1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398154,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODE1NH0.AACVTU3MT7JVBiSj5EJaMLuKENOujfFMsaiFRPj4QBQ"} authorization_1 | {"level":"info","message":"POST /authorize 200 3ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"392","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"34992ae0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":3}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","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%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]}},"raw_response":{},"request_id":"026f0343-ec5d-493e-ae20-8fc900ca596d","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398161.566749} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"902804cd-0d5d-4f1a-84ab-9a36b2665951","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398161.566992} authorization_1 | {"level":"info","message":"POST /relations/update 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"183","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"34992ae0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":6}} device_1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad'"} device_1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad'"} device_1 | {"level":"info","message":"postPeerconnections succeeded"} device_1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 169ms","method":"POST","requestID":"34992ae0-c684-11ee-9765-47e7fd15fc3d","responseTime":169,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device_1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076"},"level":"info","message":"Successfully created peerconnections for experiment"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf'"} device_1 | {"level":"info","message":"sending hearbeat to device 'http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257'"} device_1 | {"level":"info","message":"hearbeat received from device 'http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/012dedb5-1835-4047-997b-905074592c6e'"} device_1 | {"level":"info","message":"trying to delete websocket token of device 'http://localhost/devices/795b0be7-b154-47d4-b1bc-a15034b9bdbd'"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"1ef616e4-16ef-457d-be2c-9318c56ee5ad","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6610f6321a121c256232a0725d5c8dc1","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/e775eee0-d7ab-441f-a897-604ea1a51faf"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad"}}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"6610f6321a121c256232a0725d5c8dc1","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:16: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":"6610f6321a121c256232a0725d5c8dc1"} device_1 | {"data":{"peerconnection":"1ef616e4-16ef-457d-be2c-9318c56ee5ad","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODIwMn0.Afs4RtYBx8kNEH01knWrQgdInN5BuCz_CHOz9fMWk2w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"7293845a8bf49114ac09dc97108e5814","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/25819043-c637-48c3-9d69-3b48f021b076"} authorization_1 | {"client_addr":"127.0.0.1:38230","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:16:42Z"} authorization_1 | {"client_addr":"127.0.0.1:38230","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.088463,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:16:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398202,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODIwMn0.Afs4RtYBx8kNEH01knWrQgdInN5BuCz_CHOz9fMWk2w"} authorization_1 | {"level":"info","message":"POST /authorize 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"7293845a8bf49114ac09dc97108e5814"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":7}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/25819043-c637-48c3-9d69-3b48f021b076"} gateway_1 | {"time_local":"08/Feb/2024:13:16:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/25819043-c637-48c3-9d69-3b48f021b076 HTTP/1.1","status": "200","body_bytes_sent":"1178","request_time":"0.027","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7293845a8bf49114ac09dc97108e5814"} experiment_1 | {"level":"info","message":"GET /experiments/25819043-c637-48c3-9d69-3b48f021b076 200 20ms","method":"GET","requestID":"7293845a8bf49114ac09dc97108e5814","responseTime":20,"status":200,"url":"/experiments/25819043-c637-48c3-9d69-3b48f021b076"} device_1 | {"data":{"peerconnection":"1ef616e4-16ef-457d-be2c-9318c56ee5ad","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODIwMn0.Afs4RtYBx8kNEH01knWrQgdInN5BuCz_CHOz9fMWk2w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"07d64551ba8150cf082850bada56eaec","responseTime":5,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/25819043-c637-48c3-9d69-3b48f021b076"} authorization_1 | {"client_addr":"127.0.0.1:38230","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:16:42Z"} authorization_1 | {"client_addr":"127.0.0.1:38230","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.340567,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:16:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398202,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODIwMn0.Afs4RtYBx8kNEH01knWrQgdInN5BuCz_CHOz9fMWk2w"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"07d64551ba8150cf082850bada56eaec"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/25819043-c637-48c3-9d69-3b48f021b076"} gateway_1 | {"time_local":"08/Feb/2024:13:16:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/25819043-c637-48c3-9d69-3b48f021b076 HTTP/1.1","status": "200","body_bytes_sent":"1178","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"07d64551ba8150cf082850bada56eaec"} experiment_1 | {"level":"info","message":"GET /experiments/25819043-c637-48c3-9d69-3b48f021b076 200 16ms","method":"GET","requestID":"07d64551ba8150cf082850bada56eaec","responseTime":16,"status":200,"url":"/experiments/25819043-c637-48c3-9d69-3b48f021b076"} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"1ef616e4-16ef-457d-be2c-9318c56ee5ad","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"85c53ee55e8ef011ae65dfdcc8e157a5","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/e775eee0-d7ab-441f-a897-604ea1a51faf"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad"}}},"level":"info","message":"received a callback"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38230","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:16:42Z"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","contextual_tuples":null,"store_id":"01HP4D3NQA56PVR400C2BPCST1","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1ef616e4-16ef-457d-be2c-9318c56ee5ad","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"693626ba-9b87-45f9-bf18-40c19b56dfd7","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398202.242242} authorization_1 | {"client_addr":"127.0.0.1:38230","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.816708,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:16:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"146","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4cd95bc0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODIwMn0.Afs4RtYBx8kNEH01knWrQgdInN5BuCz_CHOz9fMWk2w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"cf7237b9bdc48f5076471f658a506354","responseTime":4,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/25819043-c637-48c3-9d69-3b48f021b076"} authorization_1 | {"client_addr":"127.0.0.1:38230","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:16:42Z"} authorization_1 | {"client_addr":"127.0.0.1:38230","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.1648,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:16:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398202,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODIwMn0.Afs4RtYBx8kNEH01knWrQgdInN5BuCz_CHOz9fMWk2w"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"cf7237b9bdc48f5076471f658a506354"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/25819043-c637-48c3-9d69-3b48f021b076"} experiment_1 | {"level":"info","message":"GET /experiments/25819043-c637-48c3-9d69-3b48f021b076 200 16ms","method":"GET","requestID":"cf7237b9bdc48f5076471f658a506354","responseTime":16,"status":200,"url":"/experiments/25819043-c637-48c3-9d69-3b48f021b076"} gateway_1 | {"time_local":"08/Feb/2024:13:16:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/25819043-c637-48c3-9d69-3b48f021b076 HTTP/1.1","status": "200","body_bytes_sent":"1178","request_time":"0.022","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"cf7237b9bdc48f5076471f658a506354"} device_1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"GET /peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad 200 136ms","method":"GET","requestID":"4cd95bc0-c684-11ee-9765-47e7fd15fc3d","responseTime":136,"status":200,"url":"/peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODIwMn0.Afs4RtYBx8kNEH01knWrQgdInN5BuCz_CHOz9fMWk2w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dc1f09c60b2ca267e46114d1f7c6b675","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling GET request on endpoint /experiments/25819043-c637-48c3-9d69-3b48f021b076"} authorization_1 | {"client_addr":"127.0.0.1:38230","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:16:42Z"} authorization_1 | {"client_addr":"127.0.0.1:38230","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.147161,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:16:42Z"} authorization_1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398202,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODIwMn0.Afs4RtYBx8kNEH01knWrQgdInN5BuCz_CHOz9fMWk2w"} authorization_1 | {"level":"info","message":"POST /authorize 200 6ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"452","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"dc1f09c60b2ca267e46114d1f7c6b675"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":6}} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 337ms","method":"POST","requestID":"85c53ee55e8ef011ae65dfdcc8e157a5","responseTime":337,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:16:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.341","http_referrer":"","http_user_agent":"node-fetch","requestID":"85c53ee55e8ef011ae65dfdcc8e157a5"} experiment_1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/25819043-c637-48c3-9d69-3b48f021b076"} experiment_1 | {"level":"info","message":"GET /experiments/25819043-c637-48c3-9d69-3b48f021b076 200 168ms","method":"GET","requestID":"dc1f09c60b2ca267e46114d1f7c6b675","responseTime":168,"status":200,"url":"/experiments/25819043-c637-48c3-9d69-3b48f021b076"} gateway_1 | {"time_local":"08/Feb/2024:13:16:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/25819043-c637-48c3-9d69-3b48f021b076 HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dc1f09c60b2ca267e46114d1f7c6b675"} authentication_1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODIwMn0.Afs4RtYBx8kNEH01knWrQgdInN5BuCz_CHOz9fMWk2w","level":"info","message":"auth send jwt"} authentication_1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e024b2e4cda903e99fafac04528318f5","responseTime":3,"status":200,"url":"/auth"} experiment_1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/25819043-c637-48c3-9d69-3b48f021b076"} authorization_1 | {"client_addr":"127.0.0.1:38230","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:16:42Z"} authorization_1 | {"client_addr":"127.0.0.1:38230","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.420424,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:16:42Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"experiment:http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076","object_type":"experiment","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398202,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODIwMn0.Afs4RtYBx8kNEH01knWrQgdInN5BuCz_CHOz9fMWk2w"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"454","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e024b2e4cda903e99fafac04528318f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076"},"level":"info","message":"Attempting to finish experiment"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called"} authorization_1 | {"client_addr":"127.0.0.1:38230","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:16:42Z"} authorization_1 | {"client_addr":"127.0.0.1:38230","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.045938,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:16:42Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"peerconnection:http://localhost/peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398202,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODIwMn0.Afs4RtYBx8kNEH01knWrQgdInN5BuCz_CHOz9fMWk2w"} authorization_1 | {"level":"info","message":"POST /authorize 200 4ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"462","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d0f38d0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":4}} device_1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad' to 'http://localhost/callbacks/experiment'"} device_1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"peerconnection":"1ef616e4-16ef-457d-be2c-9318c56ee5ad","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1ef616e4-16ef-457d-be2c-9318c56ee5ad': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1ef616e4-16ef-457d-be2c-9318c56ee5ad","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"9a226275-45cc-41b0-b3da-33cccc7c697b","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398202.6107526} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"99d0781a-5267-434c-b805-a9c8324b839e","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398202.6112013} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f977e73e454584135e75f91ec29c96c8","responseTime":1,"status":200,"url":"/auth"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/e775eee0-d7ab-441f-a897-604ea1a51faf"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad"}}},"level":"info","message":"received a callback"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"24dee75c316c53ab5352ae0a21db68c7","responseTime":1,"status":200,"url":"/auth"} authorization_1 | {"level":"info","message":"POST /relations/update 200 9ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"210","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d0f38d0-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":9}} experiment_1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad"}}},"level":"info","message":"received a callback"} device_1 | {"data":{"peerconnection":"1ef616e4-16ef-457d-be2c-9318c56ee5ad","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device_1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded"} device_1 | {"level":"info","message":"DELETE /peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad 204 327ms","method":"DELETE","requestID":"4d0f38d0-c684-11ee-9765-47e7fd15fc3d","responseTime":327,"status":204,"url":"/peerconnections/1ef616e4-16ef-457d-be2c-9318c56ee5ad"} device_1 | {"level":"info","message":"deleteDevicesByDeviceId called"} authorization_1 | {"client_addr":"127.0.0.1:38230","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2024-02-08T13:16:42Z"} authorization_1 | {"client_addr":"127.0.0.1:38230","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.240135,"resp_status":200,"subsystem":"opa","time":"2024-02-08T13:16:42Z"} authorization_1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257","openfga":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store":"01HP4D3NQA56PVR400C2BPCST1"},"response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","object":"device:http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257","object_type":"device","payload":{"admin":true,"edgeToken":"uvEr_cGyGLR3lZCImAkjX-pIjrkEjMNTpgjxyw-KGyoq_bNJz527m060pb3hge401LIXYDIE3ekKVvyObMeIWA","iat":1707398202,"sub":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8","subject_alt":"http://localhost/users/3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzMxMTlmMWJiLTdhYWQtNGZmYi04ZTlmLTk5MTBhYTJmNWFkOCIsImVkZ2VUb2tlbiI6InV2RXJfY0d5R0xSM2xaQ0ltQWtqWC1wSWpya0VqTU5UcGdqeHl3LUtHeW9xX2JOSno1MjdtMDYwcGIzaGdlNDAxTElYWURJRTNla0tWdnlPYk1lSVdBIiwiYWRtaW4iOnRydWUsImlhdCI6MTcwNzM5ODIwMn0.Afs4RtYBx8kNEH01knWrQgdInN5BuCz_CHOz9fMWk2w"} authorization_1 | {"level":"info","message":"POST /authorize 200 5ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"446","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d419370-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/authorize","query":{},"url":"/authorize"},"res":{"statusCode":200},"responseTime":5}} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2Ff264fc56-f1a0-42f8-b85b-c960d0e9a257': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff264fc56-f1a0-42f8-b85b-c960d0e9a257","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"e04edd06-6b33-4d2d-a4b0-31623f670258","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398202.9377542} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a5189963-ce6a-4d81-bf02-5244243e4c72","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398202.9381764} authorization_1 | {"level":"info","message":"POST /relations/update 200 7ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"194","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"4d419370-c684-11ee-9765-47e7fd15fc3d"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":7}} device_1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded"} device_1 | {"level":"info","message":"DELETE /devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257 204 182ms","method":"DELETE","requestID":"4d419370-c684-11ee-9765-47e7fd15fc3d","responseTime":182,"status":204,"url":"/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257"} experiment_1 | {"data":{"experimentUrl":"http://localhost/experiments/25819043-c637-48c3-9d69-3b48f021b076"},"level":"info","message":"Successfully finished experiment"} authorization_1 | {"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F25819043-c637-48c3-9d69-3b48f021b076': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"authorization_model_id":"01HP4D3NRAAPCSB9D7Q39P4SGE","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F25819043-c637-48c3-9d69-3b48f021b076","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F3119f1bb-7aad-4ffb-8e9f-9910aa2f5ad8"}]},"store_id":"01HP4D3NQA56PVR400C2BPCST1","writes":null},"raw_response":{},"request_id":"0d9c749b-f5a9-4e71-8c98-638d5f7d7c02","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398203.44505} authorization_1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:38142","raw_request":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","store_id":"01HP4D3NQA56PVR400C2BPCST1"},"raw_response":{"authorization_model":{"id":"01HP4D3NRAAPCSB9D7Q39P4SGE","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f3d83816-0a36-490b-9846-8919df39decb","store_id":"01HP4D3NQA56PVR400C2BPCST1","subsystem":"openfga","timestamp":1707398203.445551} authorization_1 | {"level":"info","message":"POST /relations/update 200 179ms","meta":{"req":{"headers":{"accept":"*/*","accept-encoding":"gzip, deflate","accept-language":"*","connection":"keep-alive","content-length":"202","content-type":"application/json","host":"127.0.0.1:3010","sec-fetch-mode":"cors","user-agent":"node","x-authorization-psk":"TestPSK","x-request-id":"e024b2e4cda903e99fafac04528318f5"},"httpVersion":"1.1","method":"POST","originalUrl":"/relations/update","query":{},"url":"/relations/update"},"res":{"statusCode":200},"responseTime":179}} experiment_1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/25819043-c637-48c3-9d69-3b48f021b076"} gateway_1 | {"time_local":"08/Feb/2024:13:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/25819043-c637-48c3-9d69-3b48f021b076 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"1.765","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e024b2e4cda903e99fafac04528318f5"} experiment_1 | {"level":"info","message":"DELETE /experiments/25819043-c637-48c3-9d69-3b48f021b076 204 1765ms","method":"DELETE","requestID":"e024b2e4cda903e99fafac04528318f5","responseTime":1765,"status":204,"url":"/experiments/25819043-c637-48c3-9d69-3b48f021b076"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1731ms","method":"POST","requestID":"f977e73e454584135e75f91ec29c96c8","responseTime":1731,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.736","http_referrer":"","http_user_agent":"node-fetch","requestID":"f977e73e454584135e75f91ec29c96c8"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 200 1732ms","method":"POST","requestID":"24dee75c316c53ab5352ae0a21db68c7","responseTime":1732,"status":200,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"1.738","http_referrer":"","http_user_agent":"node-fetch","requestID":"24dee75c316c53ab5352ae0a21db68c7"} gateway_1 | {"time_local":"08/Feb/2024:13:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1490","request_time":"49.636","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"565d172eb7304ed7c9c047063bdc3598"} gateway_1 | {"time_local":"08/Feb/2024:13:16:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"1489","request_time":"45.555","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6fc8a23e5b8b24dc18bea72bd6debfda"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e775eee0-d7ab-441f-a897-604ea1a51faf' closed"} device_1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257' to 'http://localhost/callbacks/experiment'"} device_1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f264fc56-f1a0-42f8-b85b-c960d0e9a257' closed"} authentication_1 | {"level":"info","message":"auth error No token found","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:144:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:114:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication_1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"55b79b83234e1d11524663a31858facd","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/f264fc56-f1a0-42f8-b85b-c960d0e9a257"},"eventType":"device-changed"}},"level":"info","message":"received a callback"} experiment_1 | {"level":"info","message":"POST /callbacks/experiment 410 4ms","method":"POST","requestID":"55b79b83234e1d11524663a31858facd","responseTime":4,"status":410,"url":"/callbacks/experiment"} gateway_1 | {"time_local":"08/Feb/2024:13:16:44 +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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"55b79b83234e1d11524663a31858facd"} integration-test_authentication_1 exited with code 143 integration-test_device_1 exited with code 143 integration-test_authorization_1 exited with code 0 integration-test_gateway_1 exited with code 0 integration-test_experiment_1 exited with code 143